sig
  type json = Json.t
  val format :
    ?indent:int ->
    ?margin:int ->
    ('a, Format.formatter, unit, Jbuffer.json) Pervasives.format4 -> 'a
  val to_json :
    ?indent:int ->
    ?margin:int -> (Format.formatter -> '-> unit) -> '-> Jbuffer.json
  type buffer
  val create : ?indent:int -> ?margin:int -> unit -> Jbuffer.buffer
  val formatter : Jbuffer.buffer -> Format.formatter
  val bprintf :
    Jbuffer.buffer -> ('a, Format.formatter, unit) Pervasives.format -> 'a
  val append : Jbuffer.buffer -> string -> int -> int -> unit
  val flush : Jbuffer.buffer -> unit -> unit
  val push_tag : Jbuffer.buffer -> Format.tag -> unit
  val pop_tag : Jbuffer.buffer -> Format.tag -> unit
  val contents : Jbuffer.buffer -> Jbuffer.json
  val fprintf : Format.formatter -> Jbuffer.json -> unit
end