import { type AnyType } from '../types/any';
import { type RawResultRow } from '../types/results';
import { type ChartKind } from '../types/savedCharts';
import { type SqlRunnerQuery } from '../types/sqlRunner';
import { type PivotChartData, type VizTableConfig, type VizTableDisplay, type VizTableHeaderSortConfig } from './types';
import type { IResultsRunner } from './types/IResultsRunner';
export declare class TableDataModel {
    private readonly resultsRunner;
    private readonly columnsConfig;
    constructor(args: {
        resultsRunner: IResultsRunner;
        columnsConfig?: VizTableConfig['columns'] | undefined;
    });
    private getColumns;
    getVisibleColumns(): string[];
    getRows(): RawResultRow[];
    getRowsCount(): number;
    getColumnsCount(): number;
    static getTableHeaderSortConfig(columnNames: string[], query: SqlRunnerQuery): VizTableHeaderSortConfig;
    getResultOptions(): {
        defaultColumnConfig: import("./types").VizColumnsConfig;
    };
    getConfig(): import("./types").VizColumnsConfig;
    static getColumnsAccessorFn(column: string): (row: RawResultRow) => unknown;
    mergeConfig(chartKind: ChartKind.TABLE): VizTableConfig;
    getPivotedChartData(): Promise<PivotChartData>;
    getDataDownloadUrl(): string | undefined;
    getPivotedTableData(): {
        columns: string[];
        rows: RawResultRow[];
    } | undefined;
    getSpec(_display?: VizTableDisplay): {
        spec: Record<string, AnyType>;
        tableData: {
            columns: string[];
            rows: RawResultRow[];
        } | undefined;
    };
}
//# sourceMappingURL=TableDataModel.d.ts.map