import { NlqResultChartType, QueryRecommendationResponse } from '@sisense/sdk-ui/ai'; import { HttpClient } from '@sisense/sdk-rest-client'; import { ChartJSON, DataSchemaContext, QueryJSON } from '@sisense/sdk-ui/analytics-composer'; export interface GetNlqV3ResultRequest { text: string; timezone?: string; chartTypes?: NlqResultChartType[]; forceGeneration: boolean; /** Translated dashboard filters (NLQ/smart-query JSON shape), not raw CSDK-only objects */ commonFilters?: unknown; /** * Prior NLQ state for incremental structural revisions. * NOTE: REST API misnomer — this field is named `chartState` over the wire * but its shape describes the NLQ-inferred query (dimensions/measures/filters/title), * not chart styling. */ chartState?: NlqState; } export type Dataset = object | string; /** * @internal NLQ wire payload shape; engines should use {@link QueryState}. */ export type NlqState = QueryJSON & { title?: string; }; export type ChartState = ChartJSON & { title?: string; }; /** * Public engine-facing alias. Aliased to `NlqState` today; if NLQ V3 is replaced, * redefine as `QueryState = NlqState2` and engines need no changes. */ export type QueryState = NlqState; export interface NlqV3Result { /** REST API misnomer: actually the NLQ state. See `GetNlqV3ResultRequest.chartState`. */ chartState: NlqState; dataSchema: DataSchemaContext; dataset?: Dataset; clarification?: string; timestamp: string; } /** * Domain shape returned by `executeNlqV3Query` — engines consume this, not the wire {@link NlqV3Result}. * The wire field `chartState` is mapped to `queryState` in the helper. */ export interface QueryExecutionResult { queryState: QueryState; dataSchema: DataSchemaContext; dataset?: Dataset; clarification?: string; timestamp: string; } export interface QueryRecommendationConfig { numOfRecommendations: number; userPrompt?: string; } export declare function getNlqV3Result(contextTitle: string, request: GetNlqV3ResultRequest, httpClient?: HttpClient): Promise; export declare function getQueryRecommendations(contextTitle: string, config: QueryRecommendationConfig, httpClient?: HttpClient): Promise; export declare function getQueryRecommendationsLight(contextTitle: string, config: QueryRecommendationConfig, httpClient?: HttpClient): Promise;