sig
  type in_channel
  val open_in : string -> Biocaml_bgzf.in_channel
  val of_in_channel : Pervasives.in_channel -> Biocaml_bgzf.in_channel
  val close_in : Biocaml_bgzf.in_channel -> unit
  val dispose_in : Biocaml_bgzf.in_channel -> unit
  exception Parse_error of string
  val input_char : Biocaml_bgzf.in_channel -> char
  val input_u8 : Biocaml_bgzf.in_channel -> int
  val input_s8 : Biocaml_bgzf.in_channel -> int
  val input_u16 : Biocaml_bgzf.in_channel -> int
  val input_s16 : Biocaml_bgzf.in_channel -> int
  val input_s32 : Biocaml_bgzf.in_channel -> int32
  val input : Biocaml_bgzf.in_channel -> string -> int -> int -> int
  val really_input : Biocaml_bgzf.in_channel -> string -> int -> int -> unit
  val input_string : Biocaml_bgzf.in_channel -> int -> string
  val with_file_in : string -> f:(Biocaml_bgzf.in_channel -> 'a) -> 'a
  type out_channel
  val open_out : ?level:int -> string -> Biocaml_bgzf.out_channel
  val of_out_channel :
    ?level:int -> Pervasives.out_channel -> Biocaml_bgzf.out_channel
  val close_out : Biocaml_bgzf.out_channel -> unit
  val dispose_out : Biocaml_bgzf.out_channel -> unit
  val output : Biocaml_bgzf.out_channel -> string -> int -> int -> unit
  val output_char : Biocaml_bgzf.out_channel -> char -> unit
  val output_u8 : Biocaml_bgzf.out_channel -> int -> unit
  val output_s8 : Biocaml_bgzf.out_channel -> int -> unit
  val output_u16 : Biocaml_bgzf.out_channel -> int -> unit
  val output_s16 : Biocaml_bgzf.out_channel -> int -> unit
  val output_s32 : Biocaml_bgzf.out_channel -> int32 -> unit
  val output_string : Biocaml_bgzf.out_channel -> string -> unit
  val with_file_out :
    ?level:int -> string -> f:(Biocaml_bgzf.out_channel -> 'a) -> 'a
end