sig
  type 'a t
  type comet_scope =
      [ `Client_process of Eliom_common.scope_hierarchy | `Site ]
  val create :
    ?scope:[< Eliom_comet.Channel.comet_scope ] ->
    ?name:string -> ?size:int -> 'Lwt_stream.t -> 'Eliom_comet.Channel.t
  val create_from_events :
    ?scope:[< Eliom_comet.Channel.comet_scope ] ->
    ?name:string -> ?size:int -> 'React.event -> 'Eliom_comet.Channel.t
  val create_unlimited :
    ?scope:Eliom_common.client_process_scope ->
    ?name:string -> 'Lwt_stream.t -> 'Eliom_comet.Channel.t
  val create_newest :
    ?name:string -> 'Lwt_stream.t -> 'Eliom_comet.Channel.t
  val external_channel :
    ?history:int ->
    ?newest:bool ->
    prefix:string -> name:string -> unit -> 'Eliom_comet.Channel.t
  val wait_timeout :
    ?scope:Eliom_common.client_process_scope -> float -> unit Lwt.t
  val get_wrapped :
    'Eliom_comet.Channel.t -> 'Eliom_comet_base.wrapped_channel
end