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