import { GroupTag, Table } from "./types";
export declare type GetExtraDescriptionRowsFunction = () => Array<string>;
export interface FlatTableRowBase {
    group?: GroupTag;
    isGroup?: boolean;
    getExtraDescriptionRows?: GetExtraDescriptionRowsFunction;
}
export interface FlatTableRowHeader extends FlatTableRowBase {
    header: string;
}
export interface FlatTableRowNormal extends FlatTableRowBase {
    key: string;
    desc: ReadonlyArray<string>;
}
export declare type FlatTableRow = FlatTableRowHeader | FlatTableRowNormal;
export declare type PrintableRows = ReadonlyArray<FlatTableRow>;
export declare function flattenTable(table?: Table): FlatTableRow[];
export declare function isFlatTableRowNormal(row: FlatTableRowNormal | FlatTableRowHeader): row is FlatTableRowNormal;
export declare function printTable(indent: number, rows: PrintableRows): string[];
