import { type EChartsOption } from 'echarts';
import { type ToolRunQueryArgsTransformed, type ToolTableVizArgsTransformed, type ToolTimeSeriesArgsTransformed, type ToolVerticalBarArgsTransformed } from '../../schemas';
import { AiResultType } from '../../types';
import { type GetPivotedResultsFn, type QueryResults } from './types';
/**
 * Union type for all AI tool args that can generate echarts
 */
export type SlackAiToolArgs = {
    type: typeof AiResultType.QUERY_RESULT;
    tool: ToolRunQueryArgsTransformed;
} | {
    type: typeof AiResultType.TIME_SERIES_RESULT;
    tool: ToolTimeSeriesArgsTransformed;
} | {
    type: typeof AiResultType.VERTICAL_BAR_RESULT;
    tool: ToolVerticalBarArgsTransformed;
} | {
    type: typeof AiResultType.TABLE_RESULT;
    tool: ToolTableVizArgsTransformed;
};
/**
 * Main function to generate echarts config for Slack AI agents
 * Decides which specific echarts config function to use based on the tool type
 *
 * @param toolArgs - Discriminated union of tool arguments with type
 * @param queryResults - Query results from running the query
 * @param getPivotedResults - Function to pivot data (backend dependency)
 * @returns EChartsOption | null
 */
export declare const getSlackAiEchartsConfig: ({ toolArgs, queryResults, getPivotedResults, }: {
    toolArgs: SlackAiToolArgs;
    queryResults: QueryResults;
    getPivotedResults: GetPivotedResultsFn;
}) => Promise<EChartsOption | null>;
//# sourceMappingURL=getSlackAiEchartsConfig.d.ts.map