import { type IChatConversation, type IChatConversationError, type IChatConversationItem, type IChatConversationItemsQuery, type IChatConversationItemsQueryResult, type IChatConversationThread, type IChatConversationThreadQuery, type IChatConversations, type IChatSuggestionsItem } from "@gooddata/sdk-backend-spi"; import { type GenAIChatInteractionUserFeedback, type GenAIObjectType, type IAllowedRelationshipType, type IGenAIUserContext } from "@gooddata/sdk-model"; import type { DateNormalizer } from "../../../convertors/fromBackend/dateFormatting/types.js"; import type { TigerAuthenticatedCallGuard } from "../../../types/index.js"; /** * Chat conversations service. * @beta */ export declare class ChatConversationsService implements IChatConversations { private readonly authCall; private readonly workspaceId; private readonly dateNormalizer; private readonly options; constructor(authCall: TigerAuthenticatedCallGuard, workspaceId: string, dateNormalizer: DateNormalizer, options?: { isPreview?: boolean; }); getConversationItemsQuery(): IChatConversationItemsQuery; create(): Promise; delete(conversationId: string): Promise; getConversation(conversationId: string): Promise; getConversationThread(conversationId: string): IChatConversationThread; } /** * Conversation items query implementation. * @beta */ export declare class ConversationItemsQuery implements IChatConversationItemsQuery { private readonly authCall; private readonly workspaceId; private readonly isPreview; private size; private page; constructor(authCall: TigerAuthenticatedCallGuard, workspaceId: string, isPreview?: boolean | undefined); withSize(size: number): IChatConversationItemsQuery; withPage(page: number): IChatConversationItemsQuery; query(): Promise; } /** * Conversation thread implementation. * @beta */ export declare class ConversationThread implements IChatConversationThread { private readonly service; private readonly authCall; private readonly workspaceId; private readonly dateNormalizer; private conversationId; constructor(service: ChatConversationsService, authCall: TigerAuthenticatedCallGuard, workspaceId: string, dateNormalizer: DateNormalizer, conversationId: string | undefined); /** * Loads history of the conversation. */ loadHistory(options?: { signal?: AbortSignal; }): Promise; /** * Resets the conversation. This creates a new conversation. */ reset(): Promise; /** * Saves feedback for the conversation item. */ saveFeedback(responseId: string, feedback: GenAIChatInteractionUserFeedback, userTextFeedback?: string): Promise; /** * Saves visualization for the conversation item. */ resaveVisualisation(oldVisualizationId: string, newVisualizationId: string): Promise; /** * Queries the conversation thread. */ query(userMessage: string): IChatConversationThreadQuery; } /** * Chat thread query configuration. * @internal */ export type ChatConversationThreadQueryConfig = { workspaceId: string; conversationId: string; userQuestion: string; limitSearch?: number; limitCreate?: number; userContext?: IGenAIUserContext; objectTypes?: GenAIObjectType[]; allowedRelationshipTypes?: IAllowedRelationshipType[]; }; /** * Chat conversation thread query implementation. * @internal */ export declare class ChatConversationThreadQuery implements IChatConversationThreadQuery { private readonly authCall; private readonly dateNormalizer; private readonly requestParameters; constructor(authCall: TigerAuthenticatedCallGuard, dateNormalizer: DateNormalizer, requestParameters: ChatConversationThreadQueryConfig); withSearchLimit(searchLimit: number): IChatConversationThreadQuery; withCreateLimit(createLimit: number): IChatConversationThreadQuery; withUserContext(userContext: IGenAIUserContext): IChatConversationThreadQuery; withObjectTypes(objectTypes?: GenAIObjectType[]): IChatConversationThreadQuery; withAllowedRelationshipTypes(relationshipTypes?: IAllowedRelationshipType[]): IChatConversationThreadQuery; query(options?: { signal?: AbortSignal; }): Promise; stream(): ReadableStream; } //# sourceMappingURL=ChatConversations.d.ts.map