module Reader0: sig .. end
module Read: Bin_prot.Read
module Type_class: Bin_prot.Type_class
module Unix: Unix_syscalls
module Id: Core.Std.Unique_id.Int63(sigend)
module Read_result: sig .. end
module Internal: sig .. end
include struct ... end
val sexp_of_t : Internal.t -> Sexplib.Sexp.t
include struct ... end
val sexp_of_read_one_chunk_at_a_time_result : 'a.
         ('a -> Sexplib.Sexp.t) ->
         'a read_one_chunk_at_a_time_result -> Sexplib.Sexp.t
include struct ... end
val close : Internal.t -> unit Import.Ivar.Deferred.t
val close_finished : Internal.t -> unit Import.Ivar.Deferred.t
val create : ?buf_len:int -> Fd.t -> Internal.t
val fd : Internal.t -> Fd.t
val id : Internal.t -> Id.t
val invariant : Internal.t -> unit
val io_stats : Io_stats.t
val is_closed : Internal.t -> bool
val last_read_time : Internal.t -> Core.Std.Time.t
val of_in_channel : Core.Std.In_channel.t -> Fd.Kind.t -> Internal.t
val open_file : ?close_on_exec:bool ->
       ?buf_len:int -> string -> Internal.t Async_core.Deferred.t
val stdin : Internal.t lazy_t
val with_close : Internal.t ->
       f:(unit -> 'a Async_core.Deferred.t) -> 'a Async_core.Deferred.t
val with_file : ?buf_len:int ->
       ?exclusive:bool ->
       string ->
       f:(Internal.t -> 'a Async_core.Deferred.t) ->
       'a Async_core.Deferred.t
val use : Internal.t -> unit
val finished_read : Internal.t -> unit
val do_read : Internal.t ->
       (unit -> 'a Async_core.Deferred.t) -> 'a Async_core.Deferred.t
val read : Internal.t ->
       ?pos:int ->
       ?len:int ->
       Core.Std.Substring.base ->
       [> `Eof | `Ok of Core.Std.Int.t ] Async_core.Deferred.t
val read_char : Internal.t -> [> `Eof | `Ok of char ] Async_core.Deferred.t
val read_substring : Internal.t ->
       Core.Std.Substring.t ->
       [> `Eof | `Ok of Core.Std.Int.t ] Async_core.Deferred.t
val read_bigsubstring : Internal.t ->
       Core.Std.Bigsubstring.t ->
       [> `Eof | `Ok of Core.Std.Int.t ] Async_core.Deferred.t
val read_one_chunk_at_a_time : Internal.t ->
       handle_chunk:(Core.Std.Bigstring.t Core.Std.sexp_opaque ->
                     pos:int ->
                     len:int ->
                     [< `Consumed of
                          int * [< `Need of int | `Need_unknown ] &
                          int * [< `Need of int | `Need_unknown ]
                      | `Continue
                      | `Stop of 'a
                      | `Stop_consumed of 'a * int ]
                     Import.Deferred.t) ->
       [> `Eof | `Eof_with_unconsumed_data of string | `Stopped of 'a ]
       Async_core.Deferred.t
val really_read : Internal.t ->
       ?pos:int ->
       ?len:int ->
       Core.Std.Substring.base -> [> `Eof of int | `Ok ] Async_core.Deferred.t
val really_read_substring : Internal.t ->
       Core.Std.Substring.t -> [> `Eof of int | `Ok ] Async_core.Deferred.t
val really_read_bigsubstring : Internal.t ->
       Core.Std.Bigsubstring.t -> [> `Eof of int | `Ok ] Async_core.Deferred.t
val read_line : Internal.t ->
       [> `Eof | `Ok of Core.Std.String.t ] Async_core.Deferred.t
val really_read_line : wait_time:Core.Std.Time.Span.t ->
       Internal.t -> Core.Std.String.t option Async_core.Deferred.t
val do_read_k : Internal.t ->
       (('a Core.Std.Or_error.t -> unit) -> unit) ->
       ('a -> 'b) -> 'b Import.Deferred.t
val read_until : Internal.t ->
       [< `Char of char | `Pred of char -> bool ] ->
       keep_delim:bool ->
       [> `Eof | `Eof_without_delim of string | `Ok of string ] Import.Deferred.t
val read_until_max : Internal.t ->
       [< `Char of char | `Pred of char -> bool ] ->
       keep_delim:bool ->
       max:int ->
       [> `Eof
        | `Eof_without_delim of string
        | `Max_exceeded of string
        | `Ok of string ]
       Import.Deferred.t
val read_sexp : ?parse_pos:Core.Std.Sexp.Parse_pos.t ->
       Internal.t -> [> `Eof | `Ok of Core.Std.Sexp.t ] Import.Deferred.t
val read_sexps : ?parse_pos:Core.Std.Sexp.Parse_pos.t ->
       Internal.t -> Core.Std.Sexp.t Import.Pipe.Reader.t
val read_annotated_sexps : ?parse_pos:Core.Std.Sexp.Parse_pos.t ->
       Internal.t -> Core.Std.Sexp.Annotated.t Import.Pipe.Reader.t
val read_bin_prot : ?max_len:Core.Std.Int.t ->
       Internal.t ->
       'a Type_class.reader -> [> `Eof | `Ok of 'a ] Import.Deferred.t
val read_marshal_raw : Internal.t ->
       [> `Eof | `Ok of Core.Std.String.t ] Async_core.Deferred.t
val read_marshal : Internal.t -> [> `Eof | `Ok of 'a ] Async_core.Deferred.t
val recv : Internal.t ->
       [> `Eof | `Ok of Core.Std.String.t ] Async_core.Deferred.t
val read_all : Internal.t ->
       (Internal.t -> [< `Eof | `Ok of 'a ] Async_core.Deferred.t) ->
       'a Import.Pipe.Reader.t
val lines : Internal.t -> Core.Std.String.t Import.Pipe.Reader.t
val contents : Internal.t -> string Async_core.Deferred.t
val file_contents : string -> string Async_core.Deferred.t
val file_lines : string -> Core.Std.String.t list Async_core.Deferred.t
val transfer : Internal.t ->
       (string, Import.Pipe.Writer.phantom) Import.Pipe.t -> unit Import.Deferred.t
val lseek : Internal.t ->
       int64 -> mode:[< `Cur | `End | `Set ] -> int64 Async_core.Deferred.t
val get_error : string ->
       (Sexplib.Type.t -> 'a) ->
       Core.Std.Sexp.Annotated.t -> (unit, Core.Std.Error.t) Core.Std._result
val gen_load_exn : ?exclusive:bool ->
       string ->
       (Core.Std.Sexp.t list -> 'a) ->
       (Core.Std.Sexp.Annotated.t list -> Core.Std.Error.t) -> 'a Import.Deferred.t
type ('a, 'b) load = ?exclusive:bool ->
       ?expand_macros:bool ->
       string -> (Core.Std.Sexp.t -> 'a) -> 'b Import.Deferred.t 
module Macro_loader: Sexplib.Macro.Loader(sigend)
val get_load_result_exn : [< `Error of exn * 'a | `Result of 'b ] -> 'b
val load_sexp_exn : ?exclusive:bool ->
       ?expand_macros:bool ->
       string -> (Sexplib.Sexp.t -> 'a) -> 'a Async_core.Deferred.t
val load_sexp : ?exclusive:bool ->
       ?expand_macros:bool ->
       string -> (Sexplib.Sexp.t -> 'a) -> 'a Import.Deferred.Or_error.t
val load_sexps_exn : ?exclusive:bool ->
       ?expand_macros:bool ->
       string -> (Core.Std.Sexp.t -> 'a) -> 'a Core.Std.List.t Async_core.Deferred.t
val load_sexps : ?exclusive:bool ->
       ?expand_macros:bool ->
       string ->
       (Core.Std.Sexp.t -> 'a) -> 'a Core.Std.List.t Import.Deferred.Or_error.t
val pipe : Internal.t -> string Import.Pipe.Reader.t
val drain : Internal.t -> unit Async_core.Deferred.t