sig
  type t = Bigbuffer.t
  val create : int -> t
  val contents : t -> string
  val big_contents : t -> Bigstring.t
  val volatile_contents : t -> Bigstring.t
  val sub : t -> int -> int -> string
  val blit : (t, string) Bigstring.blit
  val nth : t -> int -> char
  val length : t -> int
  val clear : t -> unit
  val reset : t -> unit
  val add_char : t -> char -> unit
  val add_string : t -> string -> unit
  val add_substring : t -> string -> int -> int -> unit
  val add_substitute : t -> (string -> string) -> string -> unit
  val add_buffer : t -> t -> unit
  val add_channel : t -> in_channel -> int -> unit
  val output_buffer : out_channel -> t -> unit
  module Format :
    sig
      val formatter_of_buffer : t -> Format.formatter
      val bprintf : t -> ('a, Format.formatter, unit) format -> 'a
    end
  module Printf :
    sig val bprintf : t -> ('a, unit, string, unit) format4 -> 'end
end