docs: def sys_wait_for_event(
      mask: int, k: Optional[Key], m: Optional[Mouse], flush: bool
  ) -> int:
      """Wait for an event then return.
  
      If flush is True then the buffer will be cleared before waiting. Otherwise
      each available event will be returned in the order they're recieved.
  
      Args:
          mask (int): :any:`Event types` to wait for.
          k (Optional[Key]): A tcod.Key instance which might be updated with
                             an event.  Can be None.
          m (Optional[Mouse]): A tcod.Mouse instance which might be updated
                               with an event.  Can be None.
          flush (bool): Clear the event buffer before waiting.
  
      .. deprecated:: 9.3
          Use the :any:`tcod.event.wait` function to wait for events.
      """
      return int(
          lib.TCOD_sys_wait_for_event(
              mask,
              k.key_p if k else ffi.NULL,
              m.mouse_p if m else ffi.NULL,
              flush,
          )
      )