sig
  module Default : sig val zlib_buffer_size : int val level : int end
  module Error :
    sig
      type unzip =
          [ `garbage_at_end_of_compressed_data of string
          | `wrong_gzip_header of
              [ `compression_method | `flags | `magic_number ] * int
          | `zlib of string ]
      type t = Biocaml_zip.Error.unzip
      val unzip_of_sexp : Sexplib.Sexp.t -> Biocaml_zip.Error.unzip
      val sexp_of_unzip : Biocaml_zip.Error.unzip -> Sexplib.Sexp.t
      val t_of_sexp : Sexplib.Sexp.t -> Biocaml_zip.Error.t
      val sexp_of_t : Biocaml_zip.Error.t -> Sexplib.Sexp.t
    end
  val unzip_in_channel :
    ?format:[ `gzip | `raw ] ->
    ?zlib_buffer_size:int ->
    ?buffer_size:int ->
    Pervasives.in_channel ->
    (string, [> Biocaml_zip.Error.t ]) Core.Std.Result.t Stream.t
  val zip_in_channel :
    ?format:[ `gzip | `raw ] ->
    ?zlib_buffer_size:int ->
    ?level:int ->
    ?buffer_size:int -> Pervasives.in_channel -> string Stream.t
  exception Error of Biocaml_zip.Error.unzip
  val unzip_in_channel_exn :
    ?format:[ `gzip | `raw ] ->
    ?zlib_buffer_size:int ->
    ?buffer_size:int -> Pervasives.in_channel -> string Stream.t
  module Transform :
    sig
      val unzip :
        ?format:[ `gzip | `raw ] ->
        ?zlib_buffer_size:int ->
        unit ->
        (string, (string, [> Biocaml_zip.Error.unzip ]) Core.Std.Result.t)
        Biocaml_transform.t
      val zip :
        ?format:[ `gzip | `raw ] ->
        ?level:int ->
        ?zlib_buffer_size:int -> unit -> (string, string) Biocaml_transform.t
    end
end