sig
  type event
  type event_flags = TIMEOUT | READ | WRITE | SIGNAL
  type event_callback = Unix.file_descr -> Libevent.event_flags -> unit
  val create : unit -> Libevent.event
  val fd : Libevent.event -> Unix.file_descr
  val signal : Libevent.event -> int
  val set :
    Libevent.event ->
    Unix.file_descr ->
    Libevent.event_flags list ->
    persist:bool -> Libevent.event_callback -> unit
  val set_signal :
    Libevent.event ->
    signal:int -> persist:bool -> Libevent.event_callback -> unit
  val add : Libevent.event -> float option -> unit
  val del : Libevent.event -> unit
  val pending : Libevent.event -> Libevent.event_flags list -> bool
  val dispatch : unit -> unit
  type loop_flags = ONCE | NONBLOCK
  val loop : Libevent.loop_flags -> unit
end