declare function asTable(rows: any[][]): string declare function asTable(objects: {[column: string]: any}[]): string declare namespace asTable { interface Config { maxTotalWidth: number minColumnWidths?: number[] delimiter?: string dash: string right: boolean print(value: T): string title(value: string): string } type OmitPrint = Pick> & {print: undefined} type ValidValueType = { [P in keyof O]: T; } interface Formatter extends Readonly> { (rows: T[][]): string >(objects: O[]): string configure(cfg: Partial>>): Formatter configure(cfg: Partial>): Formatter } function configure(cfg: Partial>): Formatter const maxTotalWidth: number const print: StringConstructor const title: StringConstructor const dash: '-' const right: false } export = asTable