include Promise
class type ['a, 'b] promise0 = object ... end
class type any = object ... end
type 'a promise
= ('a, any Js_min.t) promise0
type ('a, 'b) promise_cs
= ((('a -> unit) -> ('b -> unit) -> unit) Js_min.callback -> ('a, 'b) promise0 Js_min.t) Js_min.constr
val promise : (('a -> unit) -> ('b -> unit) -> unit) -> ('a, 'b) promise0 Js_of_ocaml.Js.t
val jthen : ?error:('b -> unit) -> ('a, 'b) promise0 Js_min.t -> ('a -> unit) -> unit
val jthen_opt : ('a, 'b) promise0 Js_min.t -> ('a -> unit) option -> unit
val (>>=) : 'a Lwt.t -> ('a -> 'b Lwt.t) -> 'b Lwt.t
val return : 'a -> 'a Lwt.t
val async : (unit -> 'a Lwt.t) -> unit
val return_unit : unit Lwt.t
val to_lwt : 'a promise Js_min.t -> ('a, any Js_min.t) Js_min.result Lwt.t
val to_lwt_opt : ('a -> 'b) option -> 'a promise Js_min.t -> ('b option, any Js_min.t) Js_min.result Lwt.t
val to_lwt_tr : ('a -> 'b) -> 'a promise Js_min.t -> ('b, any Js_min.t) Js_min.result Lwt.t
val to_lwt_exn : 'a promise Js_min.t -> 'a Lwt.t
val to_lwt_exn_opt : ('a -> 'b) option -> 'a promise Js_min.t -> 'b option Lwt.t
val to_lwt_exn_tr : ('a -> 'b) -> 'a promise Js_min.t -> 'b Lwt.t
val to_lwt_cb0 : (('a -> unit) -> unit) -> 'a Lwt.t
val to_lwt_cb : (('a, 'b -> unit) Js_min.meth_callback -> unit) -> 'b Lwt.t
val to_lwt_cb_tr : ('a -> 'b) -> (('c, 'a -> unit) Js_min.meth_callback -> unit) -> 'b Lwt.t
val to_lwt_cb_opt : ('a -> 'b) option -> (('c, 'a -> unit) Js_min.meth_callback Js_min.optdef -> unit) -> 'b option Lwt.t
val promise_lwt : 'a Lwt.t -> ('a, 'b) promise0 Js_of_ocaml.Js.t
val promise_lwt_res : ('a, 'b) Js_min.result Lwt.t -> ('a, 'b) promise0 Js_of_ocaml.Js.t