import { z } from 'zod';
import type { TableCalculation } from '../../../../types/field';
import type { Filters } from '../../../../types/filter';
import type { AiMetricQueryWithFilters } from '../../types';
import type { ToolTimeSeriesArgsTransformed } from '../tools';
export declare const timeSeriesMetricVizConfigSchema: z.ZodObject<{
    exploreName: z.ZodString;
    xDimension: z.ZodString;
    yMetrics: 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">;
    breakdownByDimension: z.ZodNullable<z.ZodString>;
    lineType: z.ZodUnion<[z.ZodLiteral<"line">, z.ZodLiteral<"area">]>;
    limit: z.ZodNullable<z.ZodNumber>;
    xAxisLabel: z.ZodNullable<z.ZodString>;
    yAxisLabel: z.ZodNullable<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    exploreName: string;
    sorts: {
        fieldId: string;
        descending: boolean;
        nullsFirst: boolean | null;
    }[];
    limit: number | null;
    lineType: "line" | "area";
    xAxisLabel: string | null;
    yAxisLabel: string | null;
    xDimension: string;
    yMetrics: string[];
    breakdownByDimension: string | null;
}, {
    exploreName: string;
    sorts: {
        fieldId: string;
        descending: boolean;
        nullsFirst: boolean | null;
    }[];
    limit: number | null;
    lineType: "line" | "area";
    xAxisLabel: string | null;
    yAxisLabel: string | null;
    xDimension: string;
    yMetrics: string[];
    breakdownByDimension: string | null;
}>;
export type TimeSeriesMetricVizConfigSchemaType = z.infer<typeof timeSeriesMetricVizConfigSchema>;
export declare const metricQueryTimeSeriesViz: ({ vizConfig, filters, maxLimit, customMetrics, tableCalculations, }: {
    vizConfig: TimeSeriesMetricVizConfigSchemaType;
    filters: Filters;
    maxLimit: number;
    customMetrics: ToolTimeSeriesArgsTransformed["customMetrics"] | null;
    tableCalculations: TableCalculation[];
}) => AiMetricQueryWithFilters;
//# sourceMappingURL=timeSeriesViz.d.ts.map