import { z } from 'zod';
import { type TableCalculation } from '../../../../types/field';
import type { Filters } from '../../../../types/filter';
import type { AiMetricQueryWithFilters } from '../../types';
import type { ToolTableVizArgsTransformed } from '../tools';
export declare const tableVizConfigSchema: z.ZodObject<{
    exploreName: z.ZodString;
    metrics: z.ZodArray<z.ZodString, "many">;
    dimensions: z.ZodArray<z.ZodString, "many">;
    sorts: z.ZodArray<z.ZodObject<{
        fieldId: z.ZodString;
        descending: z.ZodBoolean;
        nullsFirst: z.ZodNullable<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        fieldId: string;
        descending: boolean;
        nullsFirst: boolean | null;
    }, {
        fieldId: string;
        descending: boolean;
        nullsFirst: boolean | null;
    }>, "many">;
    limit: z.ZodNullable<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    dimensions: string[];
    metrics: string[];
    exploreName: string;
    sorts: {
        fieldId: string;
        descending: boolean;
        nullsFirst: boolean | null;
    }[];
    limit: number | null;
}, {
    dimensions: string[];
    metrics: string[];
    exploreName: string;
    sorts: {
        fieldId: string;
        descending: boolean;
        nullsFirst: boolean | null;
    }[];
    limit: number | null;
}>;
export type TableVizConfigSchemaType = z.infer<typeof tableVizConfigSchema>;
export declare const metricQueryTableViz: ({ vizConfig, filters, maxLimit, customMetrics, tableCalculations, }: {
    vizConfig: TableVizConfigSchemaType;
    filters: Filters;
    maxLimit: number;
    customMetrics: ToolTableVizArgsTransformed["customMetrics"] | null;
    tableCalculations: TableCalculation[];
}) => AiMetricQueryWithFilters;
//# sourceMappingURL=tableViz.d.ts.map