import type { DataQueryCtx, DataTable, FieldInfo } from '../../types';
type PatchSQLResult = {
    finalSql: string;
    validDataset: DataTable;
    columnReplaceMap: Map<string, string>;
    sqlReplaceMap: Map<string, string>;
    llmFieldInfo: FieldInfo[];
};
export declare const patchSQLBeforeQuery: (context: DataQueryCtx) => PatchSQLResult;
type QueryResult = {
    alasqlDataset: DataTable;
};
export declare const executeDataQuery: (context: PatchSQLResult) => {
    alasqlDataset: any;
};
type RestoreResult = {
    datasetAfterQuery: DataTable;
    llmFieldInfo: FieldInfo[];
};
export declare const restoreDatasetAfterQuery: (context: {
    llmFieldInfo: FieldInfo[];
} & QueryResult & PatchSQLResult) => RestoreResult;
export type ExecuteQueryCtx = DataQueryCtx & PatchSQLResult & QueryResult & RestoreResult;
export declare const getFinalQueryResult: (context: ExecuteQueryCtx) => {
    dataTable: DataTable;
    fieldInfo: FieldInfo[];
};
export {};
