sig
  type 'a formatter = Format.formatter -> '-> unit
  val pp :
    Format.formatter -> ('a, Format.formatter, unit) Pervasives.format -> 'a
  val rpp :
    ('a, Format.formatter, unit) Pervasives.format -> Format.formatter -> 'a
  val nop : 'As_fmt.formatter
  val pp_cut : unit As_fmt.formatter
  val pp_sp : unit As_fmt.formatter
  val pp_str : string As_fmt.formatter
  val pp_int : int As_fmt.formatter
  val pp_bool : bool As_fmt.formatter
  val pp_larrow : unit As_fmt.formatter
  val pp_rarrow : unit As_fmt.formatter
  val pp_opt :
    ?pp_none:unit As_fmt.formatter ->
    'As_fmt.formatter -> 'a option As_fmt.formatter
  val pp_list :
    ?pp_sep:unit As_fmt.formatter ->
    'As_fmt.formatter -> 'a list As_fmt.formatter
  val pp_text : string As_fmt.formatter
  val pp_lines : string As_fmt.formatter
  val pp_doomed : string As_fmt.formatter
  val utf8_enabled : unit -> bool
  val set_utf8_enabled : bool -> unit
  val pp_if_utf8 :
    'As_fmt.formatter -> 'As_fmt.formatter -> 'As_fmt.formatter
  type style_tags = [ `Ansi | `None ]
  type style =
      [ `Black
      | `Blue
      | `Bold
      | `Cyan
      | `Green
      | `Magenta
      | `None
      | `Red
      | `Underline
      | `White
      | `Yellow ]
  val style_tags : unit -> As_fmt.style_tags
  val set_style_tags : As_fmt.style_tags -> unit
  val pp_styled : As_fmt.style -> 'As_fmt.formatter -> 'As_fmt.formatter
  val pp_styled_str : As_fmt.style -> string As_fmt.formatter
end