sig
  module Buffer :
    sig
      type t = Stdlib.Buffer.t
      val create : int -> ExtBuffer.Buffer.t
      val contents : ExtBuffer.Buffer.t -> string
      val to_bytes : ExtBuffer.Buffer.t -> ExtBytes.Bytes.t
      val sub : ExtBuffer.Buffer.t -> int -> int -> string
      val blit :
        ExtBuffer.Buffer.t -> int -> ExtBytes.Bytes.t -> int -> int -> unit
      val nth : ExtBuffer.Buffer.t -> int -> char
      val length : ExtBuffer.Buffer.t -> int
      val clear : ExtBuffer.Buffer.t -> unit
      val reset : ExtBuffer.Buffer.t -> unit
      val add_char : ExtBuffer.Buffer.t -> char -> unit
      val add_string : ExtBuffer.Buffer.t -> string -> unit
      val add_bytes : ExtBuffer.Buffer.t -> ExtBytes.Bytes.t -> unit
      val add_substring : ExtBuffer.Buffer.t -> string -> int -> int -> unit
      val add_subbytes :
        ExtBuffer.Buffer.t -> ExtBytes.Bytes.t -> int -> int -> unit
      val add_substitute :
        ExtBuffer.Buffer.t -> (string -> string) -> string -> unit
      val add_buffer : ExtBuffer.Buffer.t -> ExtBuffer.Buffer.t -> unit
      val add_channel :
        ExtBuffer.Buffer.t -> Stdlib.in_channel -> int -> unit
      val output_buffer : Stdlib.out_channel -> ExtBuffer.Buffer.t -> unit
      val truncate : ExtBuffer.Buffer.t -> int -> unit
      val add_utf_8_uchar : ExtBuffer.Buffer.t -> Stdlib.Uchar.t -> unit
      val add_utf_16le_uchar : ExtBuffer.Buffer.t -> Stdlib.Uchar.t -> unit
      val add_utf_16be_uchar : ExtBuffer.Buffer.t -> Stdlib.Uchar.t -> unit
      val to_seq : ExtBuffer.Buffer.t -> char Stdlib.Seq.t
      val to_seqi : ExtBuffer.Buffer.t -> (int * char) Stdlib.Seq.t
      val add_seq : ExtBuffer.Buffer.t -> char Stdlib.Seq.t -> unit
      val of_seq : char Stdlib.Seq.t -> ExtBuffer.Buffer.t
      val add_uint8 : ExtBuffer.Buffer.t -> int -> unit
      val add_int8 : ExtBuffer.Buffer.t -> int -> unit
      val add_uint16_ne : ExtBuffer.Buffer.t -> int -> unit
      val add_uint16_be : ExtBuffer.Buffer.t -> int -> unit
      val add_uint16_le : ExtBuffer.Buffer.t -> int -> unit
      val add_int16_ne : ExtBuffer.Buffer.t -> int -> unit
      val add_int16_be : ExtBuffer.Buffer.t -> int -> unit
      val add_int16_le : ExtBuffer.Buffer.t -> int -> unit
      val add_int32_ne : ExtBuffer.Buffer.t -> int32 -> unit
      val add_int32_be : ExtBuffer.Buffer.t -> int32 -> unit
      val add_int32_le : ExtBuffer.Buffer.t -> int32 -> unit
      val add_int64_ne : ExtBuffer.Buffer.t -> int64 -> unit
      val add_int64_be : ExtBuffer.Buffer.t -> int64 -> unit
      val add_int64_le : ExtBuffer.Buffer.t -> int64 -> unit
    end
end