sig
  module Flags :
    sig
      type t
      val of_int_exn : int -> t
      val to_int_exn : t -> int
      val equal : Linux_ext.Epoll.Flags.t -> Linux_ext.Epoll.Flags.t -> bool
      val none : Linux_ext.Epoll.Flags.t
      val in_ : Linux_ext.Epoll.Flags.t
      val out : Linux_ext.Epoll.Flags.t
      val pri : Linux_ext.Epoll.Flags.t
      val err : Linux_ext.Epoll.Flags.t
      val hup : Linux_ext.Epoll.Flags.t
      val et : Linux_ext.Epoll.Flags.t
      val oneshot : Linux_ext.Epoll.Flags.t
      val ( + ) :
        Linux_ext.Epoll.Flags.t ->
        Linux_ext.Epoll.Flags.t -> Linux_ext.Epoll.Flags.t
      val ( - ) :
        Linux_ext.Epoll.Flags.t ->
        Linux_ext.Epoll.Flags.t -> Linux_ext.Epoll.Flags.t
      val flag_and :
        Linux_ext.Epoll.Flags.t ->
        Linux_ext.Epoll.Flags.t -> Linux_ext.Epoll.Flags.t
      val flag_not : Linux_ext.Epoll.Flags.t -> Linux_ext.Epoll.Flags.t
      val do_intersect :
        Linux_ext.Epoll.Flags.t -> Linux_ext.Epoll.Flags.t -> bool
      val are_disjoint :
        Linux_ext.Epoll.Flags.t -> Linux_ext.Epoll.Flags.t -> bool
      val sexp_of_t : Linux_ext.Epoll.Flags.t -> Sexplib.Sexp.t
    end
  type t
  val invariant : Linux_ext.Epoll.t -> unit
  val create :
    (num_file_descrs:int -> max_ready_events:int -> Linux_ext.Epoll.t)
    Or_error.t
  val find :
    Linux_ext.Epoll.t ->
    Unix.File_descr.t -> Linux_ext.Epoll.Flags.t option
  val find_exn :
    Linux_ext.Epoll.t -> Unix.File_descr.t -> Linux_ext.Epoll.Flags.t
  val set :
    Linux_ext.Epoll.t ->
    Unix.File_descr.t -> Linux_ext.Epoll.Flags.t -> unit
  val remove : Linux_ext.Epoll.t -> Unix.File_descr.t -> unit
  val iter :
    Linux_ext.Epoll.t ->
    f:(Unix.File_descr.t -> Linux_ext.Epoll.Flags.t -> unit) -> unit
  val wait : Linux_ext.Epoll.t -> timeout:Span.t -> [ `Ok | `Timeout ]
  val iter_ready :
    Linux_ext.Epoll.t ->
    f:(Unix.File_descr.t -> Linux_ext.Epoll.Flags.t -> unit) -> unit
  val fold_ready :
    Linux_ext.Epoll.t ->
    init:'->
    f:('-> Unix.File_descr.t -> Linux_ext.Epoll.Flags.t -> 'a) -> 'a
  val sexp_of_t : Linux_ext.Epoll.t -> Sexplib.Sexp.t
end