sig
  module Ansi :
    sig
      val kill_line : unit -> unit
      val bell : unit -> unit
      val home_cursor : unit -> unit
      val save_cursor : unit -> unit
      val unsave_cursor : unit -> unit
      type color =
          [ `Black
          | `Blue
          | `Cyan
          | `Green
          | `Magenta
          | `Red
          | `White
          | `Yellow ]
      type attr =
          [ `Bg of Console.Ansi.color
          | `Black
          | `Blue
          | `Bright
          | `Cyan
          | `Dim
          | `Green
          | `Magenta
          | `Red
          | `Reverse
          | `Underscore
          | `White
          | `Yellow ]
      val printf :
        Console.Ansi.attr list ->
        ('a, Pervasives.out_channel, unit) Pervasives.format -> 'a
      val eprintf :
        Console.Ansi.attr list ->
        ('a, Pervasives.out_channel, unit) Pervasives.format -> 'a
      val output_string :
        Console.Ansi.attr list -> Pervasives.out_channel -> string -> unit
      val output :
        Console.Ansi.attr list ->
        Pervasives.out_channel -> string -> int -> int -> unit
      val string_with_attr : Console.Ansi.attr list -> string -> string
    end
  val is_color_tty : unit -> bool
  val width : unit -> [ `Cols of int | `Not_a_tty | `Not_available ]
  val print_list :
    Pervasives.out_channel -> (string * Console.Ansi.attr list) list -> unit
  val ounit_tests : unit -> OUnit.test
end