sig
  module Align :
    sig
      type t
      val left : Ascii_table.Align.t
      val right : Ascii_table.Align.t
      val center : Ascii_table.Align.t
    end
  module Display :
    sig
      type t
      val short_box : Ascii_table.Display.t
      val tall_box : Ascii_table.Display.t
      val line : Ascii_table.Display.t
    end
  module Column :
    sig
      type 'a t
      val create :
        ?align:Ascii_table.Align.t ->
        ?min_width:int ->
        ?max_width:int -> string -> ('-> string) -> 'Ascii_table.Column.t
      val create_attr :
        ?align:Ascii_table.Align.t ->
        ?min_width:int ->
        ?max_width:int ->
        string ->
        ('-> Console.Ansi.attr list * string) -> 'Ascii_table.Column.t
    end
  type ('row, 'rest) renderer =
      ?display:Ascii_table.Display.t ->
      ?spacing:int ->
      ?limit_width_to:int ->
      ?header_attr:Console.Ansi.attr list ->
      'row Ascii_table.Column.t list -> 'row list -> 'rest
  val output : ('a, oc:Core.Std.Out_channel.t -> unit) Ascii_table.renderer
  val to_string_noattr : ('a, string) Ascii_table.renderer
  val to_string : ('a, string) Ascii_table.renderer
  val ounit_tests : unit -> OUnit.test
end