sig
  type t
  val close : t -> Int_result.unit
  val close_noerr : t -> unit
  val close_wait : t -> unit Lwt.t
  val is_active : t -> bool
  val ref' : t -> unit
  val unref : t -> unit
  val has_ref : t -> bool
  val to_handle : Uwt.Stream.t -> Uwt.Handle.t
  val is_readable : Uwt.Stream.t -> bool
  val is_writable : Uwt.Stream.t -> bool
  val read_start :
    Uwt.Stream.t -> cb:(Bytes.t uv_result -> unit) -> Int_result.unit
  val read_start_exn : Uwt.Stream.t -> cb:(Bytes.t uv_result -> unit) -> unit
  val read_stop : Uwt.Stream.t -> Int_result.unit
  val read_stop_exn : Uwt.Stream.t -> unit
  val read : ?pos:int -> ?len:int -> Uwt.Stream.t -> buf:bytes -> int Lwt.t
  val read_ba : ?pos:int -> ?len:int -> Uwt.Stream.t -> buf:buf -> int Lwt.t
  val write_queue_size : Uwt.Stream.t -> int
  val try_write :
    ?pos:int -> ?len:int -> Uwt.Stream.t -> buf:bytes -> Int_result.int
  val try_write_ba :
    ?pos:int -> ?len:int -> Uwt.Stream.t -> buf:buf -> Int_result.int
  val try_write_string :
    ?pos:int -> ?len:int -> Uwt.Stream.t -> buf:string -> Int_result.int
  val write : ?pos:int -> ?len:int -> Uwt.Stream.t -> buf:bytes -> unit Lwt.t
  val write_string :
    ?pos:int -> ?len:int -> Uwt.Stream.t -> buf:string -> unit Lwt.t
  val write_ba :
    ?pos:int -> ?len:int -> Uwt.Stream.t -> buf:buf -> unit Lwt.t
  val write_raw :
    ?pos:int -> ?len:int -> Uwt.Stream.t -> buf:bytes -> unit Lwt.t
  val write_raw_string :
    ?pos:int -> ?len:int -> Uwt.Stream.t -> buf:string -> unit Lwt.t
  val write_raw_ba :
    ?pos:int -> ?len:int -> Uwt.Stream.t -> buf:buf -> unit Lwt.t
  val try_writev : Uwt.Stream.t -> Iovec_write.t list -> Int_result.int
  val writev : Uwt.Stream.t -> Iovec_write.t list -> unit Lwt.t
  val writev_emul : Uwt.Stream.t -> Iovec_write.t list -> unit Lwt.t
  val writev_raw : Uwt.Stream.t -> Iovec_write.t list -> unit Lwt.t
  val listen :
    Uwt.Stream.t ->
    max:int ->
    cb:(Uwt.Stream.t -> Int_result.unit -> unit) -> Int_result.unit
  val listen_exn :
    Uwt.Stream.t ->
    max:int -> cb:(Uwt.Stream.t -> Int_result.unit -> unit) -> unit
  val shutdown : Uwt.Stream.t -> unit Lwt.t
  val set_blocking : Uwt.Stream.t -> bool -> Int_result.unit
end