export interface ColumnType {
    field: string;
    leafID: string;
    label: string;
    idx: number;
    className: string;
    sortable: boolean;
    isSet: boolean;
    width?: number;
    formatter?: CellFormatter;
    renderCell?: CellRenderer;
    children?: ColumnType[];
}
export interface RowType {
    __hpcc_id: number;
    __origRow: any[];
    [colIdx: number]: any;
}
export type CellFormatter = (this: ColumnType, cell: any, row: RowType) => string;
export type CellRenderer = (this: ColumnType, row: RowType, cell: any, cellElement: HTMLElement) => HTMLElement | void;
export declare class RowFormatter {
    protected _renderHtml: any;
    private _columns;
    private _flattenedColumns;
    private _columnIdx;
    private _formattedRow;
    constructor(columns: ColumnType[], _renderHtml: any);
    flattenColumns(columns: ColumnType[]): void;
    flattenColumn(column: ColumnType): void;
    format(row: any): {};
    calcDepth(columns: ColumnType[], row: any): number;
    formatCell(column: ColumnType, cell: any, maxChildDepth: any): void;
    formatRow(columns: ColumnType[], row?: {
        [key: string]: any;
    }, rowIdx?: number): number;
    row(): {};
}
//# sourceMappingURL=RowFormatter.d.ts.map
