import { ReactNode } from 'react'; import { ChatContextDetails, ChatMode } from '../../modules/ai/api/types'; export interface ChatConfig { /** * Boolean flag to show or hide suggested questions following a chat response. Currently * follow-up questions are still under development and are not validated. Therefore, follow-up * questions are disabled by default. */ enableFollowupQuestions: boolean; /** * Number of recommended queries that should initially be shown in a chat session * * If not specified, the default value is `4`. * * Set to `0` to disable initial recommendations. */ numOfRecommendations: number; /** * Pass a custom prompt to AI when generating query recommendations * * e.g. "Focus on age range" * */ customPrompt?: string; /** * Number of recent prompts that should be shown in a chat session * * If not specified, the default value is `5` */ numOfRecentPrompts: number; /** * List of titles representing allowed contexts (data models or perspectives) for a chat session. * * Each context will be validated and checked for availability. * If only one context is specified, the data topic selector screen will not be shown. */ dataTopicsList?: string[]; /** * The chat mode to use for a chat session. * * @internal */ chatMode?: ChatMode; /** The input prompt text to show in the chat input box */ inputPromptText?: string; /** * The welcome text to show at the top of a chat session. * * A value of `false` will hide the welcome text. * * If not specified, a default message will be displayed. */ welcomeText?: string | false; /** * The message text to show above the initial suggested questions in a chat session. * * A value of `false` will hide the text. * * If not specified, a default message will be displayed. */ suggestionsWelcomeText?: string | false; /** * Boolean flag to show or hide the header in a chat session. * * @default true * @internal */ enableHeader?: boolean; /** * Boolean flag to show or hide the insights button in a chat session. * * @default true * @internal */ enableInsights?: boolean; /** * Boolean flag to hide chat history on every load. * * Note: When the flag is `true`, chat history will be preserved and stored for the session but will not be displayed. Changing this setting back to `false` will make the entire history visible again, even if it was previously hidden. Use the "Clear History" button to completely erase the history. * * @default false * @deprecated * This flag is deprecated and will be removed in a future version. Use {@link @sisense/sdk-ui!AiContextProviderProps.volatile} instead. */ hideHistory?: boolean; /** * Optional chat context details. * * @internal */ contextDetails?: ChatContextDetails; } export declare const DEFAULTS: Readonly; export type ChatConfigProviderProps = { children: ReactNode; value: Partial; }; export declare const useChatConfig: () => ChatConfig; export declare const ChatConfigProvider: ({ children, value }: ChatConfigProviderProps) => import("react/jsx-runtime").JSX.Element;