import type { CreatedVisualization } from "@gooddata/api-client-tiger"; import type { IChatThread, IChatThreadHistory, IChatThreadQuery, IGenAIChatEvaluation } from "@gooddata/sdk-backend-spi"; import { type GenAIChatInteractionUserFeedback, type GenAIChatInteractionUserVisualisation, type GenAIObjectType, type IAllowedRelationshipType, type IGenAIUserContext, type IGenAIVisualization } from "@gooddata/sdk-model"; import { type DateNormalizer } from "../../../convertors/fromBackend/dateFormatting/types.js"; import { type TigerAuthenticatedCallGuard } from "../../../types/index.js"; /** * Chat thread service. * @beta */ export declare class ChatThreadService implements IChatThread { private readonly authCall; private readonly workspaceId; private readonly dateNormalizer; constructor(authCall: TigerAuthenticatedCallGuard, workspaceId: string, dateNormalizer: DateNormalizer); loadHistory(fromInteractionId?: string, options?: { signal?: AbortSignal; }): Promise; reset(): Promise; saveUserFeedback(chatHistoryInteractionId: string, userFeedback: GenAIChatInteractionUserFeedback, userTextFeedback?: string): Promise; saveUserVisualisation(chatHistoryInteractionId: string, savedVisualization: GenAIChatInteractionUserVisualisation): Promise; saveRenderVisualisationStatus(chatHistoryInteractionId: string, responseState: "SUCCESSFUL" | "UNEXPECTED_ERROR" | "TOO_MANY_DATA_POINTS" | "NO_DATA" | "NO_RESULTS"): Promise; query(userMessage: string): IChatThreadQuery; } /** * Chat thread query configuration. * @beta */ export type ChatThreadQueryConfig = { workspaceId: string; userQuestion: string; limitSearch?: number; limitCreate?: number; userContext?: IGenAIUserContext; objectTypes?: GenAIObjectType[]; allowedRelationshipTypes?: IAllowedRelationshipType[]; }; /** * Chat thread query builder. * @beta */ export declare class ChatThreadQuery implements IChatThreadQuery { private readonly authCall; private readonly dateNormalizer; private readonly config; constructor(authCall: TigerAuthenticatedCallGuard, dateNormalizer: DateNormalizer, config: ChatThreadQueryConfig); withSearchLimit(limitSearch: number): IChatThreadQuery; withCreateLimit(limitCreate: number): IChatThreadQuery; withUserContext(userContext: IGenAIUserContext): IChatThreadQuery; withObjectTypes(objectTypes?: GenAIObjectType[]): IChatThreadQuery; withAllowedRelationshipTypes(allowedRelationshipTypes?: IAllowedRelationshipType[]): IChatThreadQuery; query(options?: { signal?: AbortSignal; }): Promise; stream(): ReadableStream; } export declare function convertCreatedVisualization(data: CreatedVisualization): IGenAIVisualization; //# sourceMappingURL=ChatThread.d.ts.map