sig
  type 'a t = 'React.event
  val never : 'React.event
  val create : unit -> 'React.event * ('-> unit)
  val retain : 'React.event -> (unit -> unit) -> [ `R of unit -> unit ]
  val stop : 'React.event -> unit
  val equal : 'React.event -> 'React.event -> bool
  val trace :
    ?iff:bool React.signal ->
    ('-> unit) -> 'React.event -> 'React.event
  val once : 'React.event -> 'React.event
  val drop_once : 'React.event -> 'React.event
  val app : ('-> 'b) React.event -> 'React.event -> 'React.event
  val map : ('-> 'b) -> 'React.event -> 'React.event
  val stamp : 'React.event -> '-> 'React.event
  val filter : ('-> bool) -> 'React.event -> 'React.event
  val fmap : ('-> 'b option) -> 'React.event -> 'React.event
  val diff : ('-> '-> 'b) -> 'React.event -> 'React.event
  val changes : ?eq:('-> '-> bool) -> 'React.event -> 'React.event
  val when_ : bool React.signal -> 'React.event -> 'React.event
  val dismiss : 'React.event -> 'React.event -> 'React.event
  val until : 'React.event -> 'React.event -> 'React.event
  val accum : ('-> 'a) React.event -> '-> 'React.event
  val fold : ('-> '-> 'a) -> '-> 'React.event -> 'React.event
  val select : 'React.event list -> 'React.event
  val merge : ('-> '-> 'a) -> '-> 'React.event list -> 'React.event
  val switch : 'React.event -> 'React.event React.event -> 'React.event
  val fix : ('React.event -> 'React.event * 'b) -> 'b
  val with_finaliser :
    (unit -> unit) -> 'Lwt_react.event -> 'Lwt_react.event
  val next : 'Lwt_react.event -> 'Lwt.t
  val limit :
    (unit -> unit Lwt.t) -> 'Lwt_react.event -> 'Lwt_react.event
  val from : (unit -> 'Lwt.t) -> 'Lwt_react.event
  val to_stream : 'Lwt_react.event -> 'Lwt_stream.t
  val of_stream : 'Lwt_stream.t -> 'Lwt_react.event
  val delay : 'Lwt_react.event Lwt.t -> 'Lwt_react.event
  val keep : 'Lwt_react.event -> unit
  val app_s :
    ('-> 'Lwt.t) Lwt_react.event ->
    'Lwt_react.event -> 'Lwt_react.event
  val app_p :
    ('-> 'Lwt.t) Lwt_react.event ->
    'Lwt_react.event -> 'Lwt_react.event
  val map_s : ('-> 'Lwt.t) -> 'Lwt_react.event -> 'Lwt_react.event
  val map_p : ('-> 'Lwt.t) -> 'Lwt_react.event -> 'Lwt_react.event
  val filter_s :
    ('-> bool Lwt.t) -> 'Lwt_react.event -> 'Lwt_react.event
  val filter_p :
    ('-> bool Lwt.t) -> 'Lwt_react.event -> 'Lwt_react.event
  val fmap_s :
    ('-> 'b option Lwt.t) -> 'Lwt_react.event -> 'Lwt_react.event
  val fmap_p :
    ('-> 'b option Lwt.t) -> 'Lwt_react.event -> 'Lwt_react.event
  val diff_s :
    ('-> '-> 'Lwt.t) -> 'Lwt_react.event -> 'Lwt_react.event
  val accum_s : ('-> 'Lwt.t) Lwt_react.event -> '-> 'Lwt_react.event
  val fold_s :
    ('-> '-> 'Lwt.t) -> '-> 'Lwt_react.event -> 'Lwt_react.event
  val merge_s :
    ('-> '-> 'Lwt.t) ->
    '-> 'Lwt_react.event list -> 'Lwt_react.event
  val run_s : 'Lwt.t Lwt_react.event -> 'Lwt_react.event
  val run_p : 'Lwt.t Lwt_react.event -> 'Lwt_react.event
end