import type { ChartGeneratorCtx, LLMMessage } from '../../types';
import { AtomName } from '../../types/atom';
import { BaseAtom } from '../base';
import type { ChartType } from '../../types';
import type { GenerateChartCellContext, ChartGeneratorOptions } from './type';
export declare class ChartGeneratorAtom extends BaseAtom<ChartGeneratorCtx, ChartGeneratorOptions> {
    name: AtomName;
    isLLMAtom: boolean;
    private _generateType;
    finalChartTypeList: ChartType[];
    constructor(context: ChartGeneratorCtx, option: ChartGeneratorOptions);
    setFinalChartTypeList(): void;
    buildDefaultContext(context: ChartGeneratorCtx): ChartGeneratorCtx;
    buildDefaultOptions(): ChartGeneratorOptions;
    updateContext(context: Partial<ChartGeneratorCtx>): ChartGeneratorCtx;
    updateOptions(options: ChartGeneratorOptions): void;
    getLLMMessages(query?: string): LLMMessage[];
    parseLLMContent(resJson: any): GenerateChartCellContext;
    protected runBeforeLLM(): ChartGeneratorCtx;
    protected runWithLLMError(error: string): ChartGeneratorCtx;
    protected _runWithOutLLM(): ChartGeneratorCtx;
}
export declare const registerChartGeneratorAtom: () => void;
