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 PivotChartLayout, type VizPieChartConfig, type VizPieChartDisplay } from './types';
import { type IResultsRunner } from './types/IResultsRunner';
export declare class PieChartDataModel {
    private readonly resultsRunner;
    private readonly fieldConfig;
    private pivotedChartData;
    constructor(args: {
        resultsRunner: IResultsRunner;
        fieldConfig?: PivotChartLayout;
    });
    getDefaultLayout(): PivotChartLayout | undefined;
    mergeConfig(chartKind: ChartKind.PIE, currentVizConfig?: VizPieChartConfig): VizPieChartConfig;
    getResultOptions(): {
        groupFieldOptions: import("./types").VizIndexLayoutOptions[];
        metricFieldOptions: import("./types").VizValuesLayoutOptions[];
        customMetricFieldOptions: import("./types").VizCustomMetricLayoutOptions[];
    };
    getConfigErrors(config?: PivotChartLayout): {
        customMetricFieldError?: {
            references: string[];
        } | undefined;
        metricFieldError?: {
            references: string[];
        } | undefined;
        indexFieldError?: {
            reference: string;
        } | undefined;
    } | undefined;
    getTransformedData(query: SqlRunnerQuery | undefined): Promise<PivotChartData | undefined>;
    getPivotedChartData({ sortBy, filters, limit, sql, }: Pick<SqlRunnerQuery, 'sortBy' | 'filters' | 'limit' | 'sql'>): Promise<PivotChartData | undefined>;
    getPivotedTableData(): {
        columns: string[];
        rows: RawResultRow[];
    } | undefined;
    getDataDownloadUrl(): string | undefined;
    getSpec(display?: VizPieChartDisplay): Record<string, AnyType>;
}
//# sourceMappingURL=PieChartDataModel.d.ts.map