import { z } from 'zod'; import { JSONArray, DataSourceField } from '@sisense/sdk-data'; import { DataSourceFieldWithDescription } from '../../services/data-sources/data-sources-service'; import { getDataSourceFieldsSchema, GetDataSourceFieldsContext, DataSourceFieldsResult } from './types'; /** * Fetches fields for a data source (decoupled from UI/store). * @param params - The parameters containing the data source title * @param context - Context with tool call ID for tracking * @returns Raw result: dataSourceTitle and fields array for UI and for building the LLM summary. */ export declare function getDataSourceFieldsEngine(params: z.infer, context: GetDataSourceFieldsContext): Promise; /** * Builds the shared formulas block for the LLM summary from NLQ-shaped formula JSON. * Each formula must have an `args` array: name = args[0]; description = args[args.length - 1] only when args.length >= 2, else ''. * @param formulas - Shared formulas in JSON format (array of { function, args }) * @returns YAML block with heading and list of { name, description }, or empty string if none */ export declare function buildCompactSharedFormulas(formulas: JSONArray): string; /** * Builds the compact schema string returned to the LLM (intro + tables/columns + optional shared formulas). * Reduces token use by returning a single string instead of a JSON object. * @param dataSourceTitle - The title of the data source * @param fields - The full list of fields from the data source * @param formulas - Optional shared formulas in NLQ JSON format (for the chat agent) * @returns A compact schema string with table and column names, and shared formulas when provided */ export declare function getDataSourceFieldsSummary(dataSourceTitle: string, fields: DataSourceFieldWithDescription[] | DataSourceField[], formulas?: JSONArray): string; //# sourceMappingURL=get-data-source-fields-engine.d.ts.map