sig
  type formatter_output = {
    out : string -> int -> int -> unit;
    flush : unit -> unit;
    newline : unit -> unit;
    spaces : int -> unit;
    with_tags : bool;
    open_tag : Format.tag -> unit;
    close_tag : Format.tag -> unit;
    margin : int;
  }
  type output = Channel of Pervasives.out_channel | Buffer of Buffer.t
  type mode =
      Latex of PrettyPrinter.output
    | Txt of PrettyPrinter.output
    | Formatter of PrettyPrinter.formatter_output
  val output_string : PrettyPrinter.output -> string -> unit
  val flush : PrettyPrinter.output -> unit
end