import { AiResultType } from './types';
export declare const parseVizConfig: (vizConfigUnknown: object | null, maxLimit?: number | undefined) => {
    readonly type: AiResultType.VERTICAL_BAR_RESULT;
    readonly vizTool: {
        customMetrics: import("./schemas").TransformedCustomMetric[] | null;
        followUpTools: AiResultType[];
        tableCalculations: ({
            name: string;
            fieldId: string;
            type: "percent_change_from_previous";
            displayName: string;
            orderBy: {
                fieldId: string;
                order: "asc" | "desc" | null;
            }[];
            partitionBy: string[] | null;
        } | {
            name: string;
            fieldId: string;
            type: "percent_of_previous_value";
            displayName: string;
            orderBy: {
                fieldId: string;
                order: "asc" | "desc" | null;
            }[];
            partitionBy: string[] | null;
        } | {
            name: string;
            fieldId: string;
            type: "percent_of_column_total";
            displayName: string;
            partitionBy: string[] | null;
        } | {
            name: string;
            fieldId: string;
            type: "rank_in_column";
            displayName: string;
        } | {
            name: string;
            fieldId: string;
            type: "running_total";
            displayName: string;
        } | {
            name: string;
            fieldId: string | null;
            type: "window_function";
            displayName: string;
            orderBy: {
                fieldId: string;
                order: "asc" | "desc" | null;
            }[] | null;
            partitionBy: string[] | null;
            windowFunction: import("../..").WindowFunctionType;
            frame: {
                frameType: "rows" | "range";
                start: {
                    type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
                    offset: number | null;
                } | null;
                end: {
                    type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
                    offset: number | null;
                };
            } | null;
        })[] | null;
        description: string;
        filters: import("../..").Filters;
        title: string;
        vizConfig: {
            exploreName: string;
            sorts: {
                fieldId: string;
                descending: boolean;
                nullsFirst: boolean | null;
            }[];
            limit: number | null;
            xDimension: string;
            yMetrics: string[];
            breakdownByDimension: string | null;
            stackBars: boolean | null;
            xAxisType: "time" | "category";
            xAxisLabel: string | null;
            yAxisLabel: string | null;
        };
    };
    readonly metricQuery: import("./types").AiMetricQueryWithFilters;
} | {
    readonly type: AiResultType.TIME_SERIES_RESULT;
    readonly vizTool: {
        customMetrics: import("./schemas").TransformedCustomMetric[] | null;
        followUpTools: AiResultType[];
        tableCalculations: ({
            name: string;
            fieldId: string;
            type: "percent_change_from_previous";
            displayName: string;
            orderBy: {
                fieldId: string;
                order: "asc" | "desc" | null;
            }[];
            partitionBy: string[] | null;
        } | {
            name: string;
            fieldId: string;
            type: "percent_of_previous_value";
            displayName: string;
            orderBy: {
                fieldId: string;
                order: "asc" | "desc" | null;
            }[];
            partitionBy: string[] | null;
        } | {
            name: string;
            fieldId: string;
            type: "percent_of_column_total";
            displayName: string;
            partitionBy: string[] | null;
        } | {
            name: string;
            fieldId: string;
            type: "rank_in_column";
            displayName: string;
        } | {
            name: string;
            fieldId: string;
            type: "running_total";
            displayName: string;
        } | {
            name: string;
            fieldId: string | null;
            type: "window_function";
            displayName: string;
            orderBy: {
                fieldId: string;
                order: "asc" | "desc" | null;
            }[] | null;
            partitionBy: string[] | null;
            windowFunction: import("../..").WindowFunctionType;
            frame: {
                frameType: "rows" | "range";
                start: {
                    type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
                    offset: number | null;
                } | null;
                end: {
                    type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
                    offset: number | null;
                };
            } | null;
        })[] | null;
        description: string;
        filters: import("../..").Filters;
        title: string;
        vizConfig: {
            exploreName: string;
            sorts: {
                fieldId: string;
                descending: boolean;
                nullsFirst: boolean | null;
            }[];
            limit: number | null;
            xDimension: string;
            yMetrics: string[];
            breakdownByDimension: string | null;
            xAxisLabel: string;
            yAxisLabel: string;
            lineType: "line" | "area";
        };
    };
    readonly metricQuery: import("./types").AiMetricQueryWithFilters;
} | {
    readonly type: AiResultType.TABLE_RESULT;
    readonly vizTool: {
        customMetrics: import("./schemas").TransformedCustomMetric[] | null;
        followUpTools: AiResultType[];
        tableCalculations: ({
            name: string;
            fieldId: string;
            type: "percent_change_from_previous";
            displayName: string;
            orderBy: {
                fieldId: string;
                order: "asc" | "desc" | null;
            }[];
            partitionBy: string[] | null;
        } | {
            name: string;
            fieldId: string;
            type: "percent_of_previous_value";
            displayName: string;
            orderBy: {
                fieldId: string;
                order: "asc" | "desc" | null;
            }[];
            partitionBy: string[] | null;
        } | {
            name: string;
            fieldId: string;
            type: "percent_of_column_total";
            displayName: string;
            partitionBy: string[] | null;
        } | {
            name: string;
            fieldId: string;
            type: "rank_in_column";
            displayName: string;
        } | {
            name: string;
            fieldId: string;
            type: "running_total";
            displayName: string;
        } | {
            name: string;
            fieldId: string | null;
            type: "window_function";
            displayName: string;
            orderBy: {
                fieldId: string;
                order: "asc" | "desc" | null;
            }[] | null;
            partitionBy: string[] | null;
            windowFunction: import("../..").WindowFunctionType;
            frame: {
                frameType: "rows" | "range";
                start: {
                    type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
                    offset: number | null;
                } | null;
                end: {
                    type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
                    offset: number | null;
                };
            } | null;
        })[] | null;
        description: string;
        filters: import("../..").Filters;
        title: string;
        vizConfig: {
            dimensions: string[];
            metrics: string[];
            exploreName: string;
            sorts: {
                fieldId: string;
                descending: boolean;
                nullsFirst: boolean | null;
            }[];
            limit: number | null;
        };
    };
    readonly metricQuery: import("./types").AiMetricQueryWithFilters;
} | {
    readonly type: AiResultType.QUERY_RESULT;
    readonly vizTool: {
        description: string;
        title: string;
        chartConfig: {
            stackBars: boolean | null;
            xAxisType: "time" | "category" | null;
            xAxisLabel: string;
            yAxisLabel: string;
            lineType: "line" | "area" | null;
            defaultVizType: "table" | "line" | "bar" | "horizontal" | "scatter" | "pie" | "funnel";
            xAxisDimension: string | null;
            yAxisMetrics: string[] | null;
            groupBy: string[] | null;
            funnelDataInput: "row" | "column" | null;
            secondaryYAxisMetric: string | null;
            secondaryYAxisLabel: string | null;
        } | null;
        queryConfig: {
            dimensions: string[];
            metrics: string[];
            tableCalculations: ({
                name: string;
                fieldId: string;
                type: "percent_change_from_previous";
                displayName: string;
                orderBy: {
                    fieldId: string;
                    order: "asc" | "desc" | null;
                }[];
                partitionBy: string[] | null;
            } | {
                name: string;
                fieldId: string;
                type: "percent_of_previous_value";
                displayName: string;
                orderBy: {
                    fieldId: string;
                    order: "asc" | "desc" | null;
                }[];
                partitionBy: string[] | null;
            } | {
                name: string;
                fieldId: string;
                type: "percent_of_column_total";
                displayName: string;
                partitionBy: string[] | null;
            } | {
                name: string;
                fieldId: string;
                type: "rank_in_column";
                displayName: string;
            } | {
                name: string;
                fieldId: string;
                type: "running_total";
                displayName: string;
            } | {
                name: string;
                fieldId: string | null;
                type: "window_function";
                displayName: string;
                orderBy: {
                    fieldId: string;
                    order: "asc" | "desc" | null;
                }[] | null;
                partitionBy: string[] | null;
                windowFunction: import("../..").WindowFunctionType;
                frame: {
                    frameType: "rows" | "range";
                    start: {
                        type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
                        offset: number | null;
                    } | null;
                    end: {
                        type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
                        offset: number | null;
                    };
                } | null;
            })[] | null;
            filters: import("../..").Filters;
            exploreName: string;
            sorts: {
                fieldId: string;
                descending: boolean;
                nullsFirst: boolean | null;
            }[];
            limit: number | null;
            customMetrics: import("./schemas").TransformedCustomMetric[] | null;
        };
    };
    readonly metricQuery: {
        exploreName: string;
        dimensions: string[];
        metrics: string[];
        sorts: {
            nullsFirst: boolean | undefined;
            fieldId: string;
            descending: boolean;
        }[];
        limit: number;
        filters: import("../..").Filters;
        additionalMetrics: Omit<import("../..").AdditionalMetric, "sql">[];
        customMetrics: import("./schemas").TransformedCustomMetric[] | null;
        tableCalculations: import("../..").TableCalculation[];
    };
} | null;
//# sourceMappingURL=utils.d.ts.map