import type { DataQueryCtx, DataQueryOptions, BaseOptions } from '../../types';
import { AtomName } from '../../types/atom';
import { BaseAtom } from '../base';
import type { LLMMessage, LLMResponse } from '../../types/llm';
export declare class DataQueryAtom extends BaseAtom<DataQueryCtx, DataQueryOptions> {
    name: AtomName;
    isLLMAtom: boolean;
    constructor(context: DataQueryCtx, option: BaseOptions);
    buildDefaultContext(context: DataQueryCtx): DataQueryCtx;
    buildDefaultOptions(): DataQueryOptions;
    getLLMMessages(query?: string): LLMMessage[];
    parseLLMContent(resJson: any, toolJson: any, llmRes: LLMResponse): {
        sql: any;
        llmFieldInfo: any;
        thoughts: any;
        dataTableSummary?: string;
        fieldInfo?: import("../../types").FieldInfo[];
        dataTable: import("../../types").DataTable;
        command: string;
        logId?: string;
        id?: string;
        query?: string;
        response?: string;
        error?: string;
        usage?: import("../../types").Usage;
        toolRes?: any;
    };
    protected runBeforeLLM(): DataQueryCtx;
    protected _runWithOutLLM(): DataQueryCtx;
}
export declare const registerDataQueryAtom: () => void;
