import { type Reducer } from "@reduxjs/toolkit"; import { type IUserWorkspaceSettings } from "@gooddata/sdk-backend-spi"; import { type CatalogItem, type GenAIObjectType, type IAllowedRelationshipType, type IColorPalette, type IDashboard, type IGenAIUserContext, type IInsight } from "@gooddata/sdk-model"; import type { IKdaDefinition } from "@gooddata/sdk-ui-dashboard"; import { type ContextObjectKind, type ContextObjectsState, type IGenAIContextListItem, type IGenAIContextObject, type SelectedContext, type StoreContext } from "../../types.js"; type ChatWindowSliceState = { /** * Defines if the chat window is open. */ isOpen: boolean; /** * Defines if the chat window is in fullscreen mode. */ isFullscreen: boolean; /** * Indicates whether history panel is open. */ isHistory: boolean; /** * Color palette to use for the chat UI. */ colorPalette?: IColorPalette; /** * Settings to use for the chat UI. */ settings?: IUserWorkspaceSettings; /** * Key driver analysis to use for the chat UI. */ keyDriverAnalysis?: IKdaDefinition; /** * Indicates whether key driver analysis panel is minimized. */ keyDriverAnalysisMinimized?: boolean; /** * Object types to use for the chat UI. */ objectTypes?: GenAIObjectType[]; /** * Catalog items for autocomplete. */ catalogItems?: CatalogItem[]; /** * Dashboards and visualizations offered by the context chooser, on top of the ambient ones. */ contextObjects: ContextObjectsState; /** * Title the context chooser lists are filtered by. Empty means no filter. */ contextObjectsSearch: string; /** * Only objects with these tags will be included */ includeTags?: string[]; /** * Objects with these tags will be excluded */ excludeTags?: string[]; /** * Allowed relationship types for semantic search (e.g. for view-only users). */ allowedRelationshipTypes?: IAllowedRelationshipType[]; /** * Context related to the chat. */ context: StoreContext; /** * Current unsent input value. */ inputValue: string; /** * Whether the chat runs against the caller's preview agent. In preview mode the assistant * is pinned to that single agent, so agent switching is not applicable. */ isPreview?: boolean; /** * Whether the plug-in instance allows the Interaction Intelligence panel. Combined with * `settings.enableGenAiInteractionIntelligence` — both must be true for the panel to show. */ allowInteractionIntelligence?: boolean; }; export declare const chatWindowSliceName = "chatWindow"; export declare const getInitialChatWindowState: ({ isPreview, allowInteractionIntelligence, }?: { isPreview?: boolean; allowInteractionIntelligence?: boolean; }) => ChatWindowSliceState; export declare const chatWindowSliceReducer: Reducer; export declare const setOpenAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ isOpen: boolean; }, "chatWindow/setOpenAction">, setHistoryAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ isHistory: boolean; }, "chatWindow/setHistoryAction">, setColorPaletteAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ colorPalette?: IColorPalette; }, "chatWindow/setColorPaletteAction">, setSettingsAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ settings?: IUserWorkspaceSettings; }, "chatWindow/setSettingsAction">, copyToClipboardAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ content: string; }, "chatWindow/copyToClipboardAction">, setKeyDriverAnalysisAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ keyDriverAnalysis?: IKdaDefinition; }, "chatWindow/setKeyDriverAnalysisAction">, setKeyDriverAnalysisMinimizedAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ minimized?: boolean; }, "chatWindow/setKeyDriverAnalysisMinimizedAction">, setObjectTypesAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ objectTypes?: GenAIObjectType[]; }, "chatWindow/setObjectTypesAction">, setTagsAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ includeTags?: string[]; excludeTags?: string[]; }, "chatWindow/setTagsAction">, setCatalogItemsActions: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload, setInputValueAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ value: string; }, "chatWindow/setInputValueAction">, initContextObjectsAction: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chatWindow/initContextObjectsAction">, loadContextObjectsNextPageAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ kind: ContextObjectKind; }, "chatWindow/loadContextObjectsNextPageAction">, setContextObjectsAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ kind: ContextObjectKind; items: IGenAIContextListItem[]; }, "chatWindow/setContextObjectsAction">, setContextObjectsSearchAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ search: string; }, "chatWindow/setContextObjectsSearchAction">, contextObjectsLoadingAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ kind: ContextObjectKind; }, "chatWindow/contextObjectsLoadingAction">, contextObjectsPageLoadedAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ kind: ContextObjectKind; items: IGenAIContextListItem[]; hasNextPage: boolean; }, "chatWindow/contextObjectsPageLoadedAction">, contextObjectsLoadFailedAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ kind: ContextObjectKind; }, "chatWindow/contextObjectsLoadFailedAction">, setAllowedRelationshipTypesAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ allowedRelationshipTypes?: IAllowedRelationshipType[]; }, "chatWindow/setAllowedRelationshipTypesAction">, onDefinitionReceivedAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ definitionType: "dashboard" | "visualization"; conversationId: string; itemId: string; interactionId?: string; dashboard?: IDashboard; insights?: IInsight[]; visualization?: IInsight; }, "chatWindow/onDefinitionReceivedAction">, addContextReferenceAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ object: IGenAIContextObject; }, "chatWindow/addContextReferenceAction">, removeContextReferenceAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ object: IGenAIContextObject; }, "chatWindow/removeContextReferenceAction">, selectedContextReferencesAction: import("@reduxjs/toolkit").ActionCreatorWithPayload, setIsPreviewAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ isPreview?: boolean; }, "chatWindow/setIsPreviewAction">, /** * Switches the assistant between the docked and the fullscreen layout. * @public */ setFullscreenAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ isFullscreen: boolean; }, "chatWindow/setFullscreenAction">, /** * @public */ setAmbientUserContextAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ userContext?: IGenAIUserContext; loading?: boolean; }, "chatWindow/setAmbientUserContextAction">, /** * @public */ setUserContextAction: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ userContext?: IGenAIUserContext; replaceUserContext?: boolean; }, "chatWindow/setUserContextAction">; export {}; //# sourceMappingURL=chatWindowSlice.d.ts.map