sig
  val normal : string -> string
  val bold : string -> string
  val underline : string -> string
  val inverse : string -> string
  val red : string -> string
  val yellow : string -> string
  val green : string -> string
  val blue : string -> string
  val magenta : string -> string
  val cyan : string -> string
  val gray : string -> brightness:float -> string
  val rgb : string -> r:float -> g:float -> b:float -> string
  type color =
      [ `Amber
      | `Black
      | `Blue
      | `Blue_violet
      | `Bright_green
      | `Chartreuse
      | `Cyan
      | `Dark_blue
      | `Dark_cyan
      | `Dark_green
      | `Dark_magenta
      | `Dark_red
      | `Dark_yellow
      | `Deep_pink
      | `Deep_sky_blue
      | `Dodger_blue
      | `Gold
      | `Gray
      | `Green
      | `Green_yellow
      | `Khaki
      | `Light_gray
      | `Light_green
      | `Light_pink
      | `Light_slate_blue
      | `Light_steel_blue
      | `Magenta
      | `Medium_spring_green
      | `Orange
      | `Orchid
      | `Pale_turquoise
      | `Pink
      | `Plum
      | `Purple
      | `Red
      | `Rose
      | `Sea_green
      | `Spring_green
      | `Turquoise
      | `Violet
      | `Wheat
      | `White
      | `Yellow ]
  val color : string -> color:Color_print.color -> string
  val boldprintf : ('a, Pervasives.out_channel, unit) Pervasives.format -> 'a
  val underlineprintf :
    ('a, Pervasives.out_channel, unit) Pervasives.format -> 'a
  val inverseprintf :
    ('a, Pervasives.out_channel, unit) Pervasives.format -> 'a
  val redprintf : ('a, Pervasives.out_channel, unit) Pervasives.format -> 'a
  val yellowprintf :
    ('a, Pervasives.out_channel, unit) Pervasives.format -> 'a
  val greenprintf :
    ('a, Pervasives.out_channel, unit) Pervasives.format -> 'a
  val blueprintf : ('a, Pervasives.out_channel, unit) Pervasives.format -> 'a
  val magentaprintf :
    ('a, Pervasives.out_channel, unit) Pervasives.format -> 'a
  val cyanprintf : ('a, Pervasives.out_channel, unit) Pervasives.format -> 'a
  val grayprintf :
    brightness:float ->
    ('a, Pervasives.out_channel, unit) Pervasives.format -> 'a
  val rgbprintf :
    r:float ->
    g:float ->
    b:float -> ('a, Pervasives.out_channel, unit) Pervasives.format -> 'a
  val colorprintf :
    color:Color_print.color ->
    ('a, Pervasives.out_channel, unit) Pervasives.format -> 'a
  val bin_color : Color_print.color Core.Std.Bin_prot.Type_class.t
  val bin_read_color : Color_print.color Core.Std.Bin_prot.Read_ml.reader
  val bin_read_color_ :
    Color_print.color Core.Std.Bin_prot.Unsafe_read_c.reader
  val bin_read_color__ :
    (int -> Color_print.color) Core.Std.Bin_prot.Unsafe_read_c.reader
  val bin_reader_color :
    Color_print.color Core.Std.Bin_prot.Type_class.reader
  val bin_size_color : Color_print.color Core.Std.Bin_prot.Size.sizer
  val bin_write_color : Color_print.color Core.Std.Bin_prot.Write_ml.writer
  val bin_write_color_ :
    Color_print.color Core.Std.Bin_prot.Unsafe_write_c.writer
  val bin_writer_color :
    Color_print.color Core.Std.Bin_prot.Type_class.writer
  val color_of_sexp : Sexplib.Sexp.t -> Color_print.color
  val __color_of_sexp__ : Sexplib.Sexp.t -> Color_print.color
  val sexp_of_color : Color_print.color -> Sexplib.Sexp.t
end