import { getBest } from '../Colors';
import { RendererContract, TableOptions, TableRow } from '../Contracts';
/**
 * Exposes the API to represent a table
 */
export declare class Table {
    private testing;
    private state;
    /**
     * The renderer to use to output logs
     */
    private renderer?;
    /**
     * Logger configuration options
     */
    options: TableOptions;
    /**
     * The colors reference
     */
    colors: ReturnType<typeof getBest>;
    constructor(options?: Partial<TableOptions>, testing?: boolean);
    /**
     * Returns the renderer for rendering the messages
     */
    private getRenderer;
    /**
     * Define a custom renderer. Logs to "stdout" and "stderr"
     * by default
     */
    useRenderer(renderer: RendererContract): this;
    /**
     * Define table head
     */
    head(headColumns: string[]): this;
    /**
     * Add a new table row
     */
    row(row: TableRow): this;
    /**
     * Define custom column widths
     */
    columnWidths(widths: number[]): this;
    /**
     * Render table
     */
    render(): void;
}
