import { default as default_2 } from 'react'; import { JSX as JSX_2 } from 'react/jsx-runtime'; import { ManagerOptions } from 'socket.io-client'; import { SocketOptions as SocketOptions_2 } from 'socket.io-client'; declare type SearchMode = (typeof SearchModes)[number]; /** * Search mode types */ declare const SearchModes: readonly ["rag", "index"]; declare type SocialIconType = (typeof SocialIconTypes)[number]; /** * Supported social media platform icons */ declare const SocialIconTypes: readonly ["dzen", "github", "gitlab", "rutube", "telegram", "vk", "vkvideo", "whatsapp", "youtube", "phone"]; declare type SocketOptions = Partial; export declare function Widget({ shadowRef, ...props }: WidgetProps): JSX_2.Element; /** * Communication channel for "more options" button */ export declare interface WidgetCommunicationChannel { type: SocialIconType; href: string; } /** * Custom data sent to the server */ export declare interface WidgetCustomData { language?: string; } /** * Widget panel types */ export declare type WidgetPanel = 'info' | 'chat' | 'search'; /** * Link item for info panel (both regular links and social media) */ export declare interface WidgetPrompt { href: string; title?: string; description?: string; type?: 'link' | 'social'; icon?: SocialIconType; } /** * Properties of the widget */ export declare interface WidgetProps { socketUrl: string; socketOptions?: SocketOptions; widgetId: string; connectorNumberOfLastMessages?: number; connectionErrorText?: string; isInShadowRoot?: boolean; widgetRef?: default_2.Ref; shadowRef?: default_2.Ref; settingsSourcePriority?: WidgetSettingsSourcePriority; rasaConnectorId?: string; initPayload?: string; customData?: WidgetCustomData; ragConnectorId?: string; bitrix24ConnectorId?: string; bitrix24ConnectorLineId?: string; enableAuthorization?: boolean; enableAudioCall?: boolean; audioCallUrl?: string; callSoundUrl?: string; enableConnectOperator?: boolean; showTeaser?: boolean; showOnlineOperators?: boolean; teaserButtons?: ('chat' | 'info' | 'search')[] | string; enableFileUpload?: boolean; fileUploadMaxFile?: number; fileUploadMaxFileSizeMB?: number; fileUploadAcceptedMimeTypes?: string; autoClearLocalStorage?: boolean; localStorageSessionTime?: number; type?: WidgetType; containerId?: string; size?: WidgetSize; title?: string; subtitle?: string; color?: string; darkMode?: boolean; avatar?: string; centerAvatar?: boolean; wisebotPromoUrl?: string; inputTextFieldHint?: string; showMessageDate?: boolean; zIndex?: number; enableDialogReset?: boolean; enableEmojiPicker?: boolean; enableFullscreenToggle?: boolean; enableKeyboardShortcuts?: boolean; enableMicrophone?: boolean; enableTextHelper?: boolean; characterLimit?: number; communicationChannels?: WidgetCommunicationChannel[] | string; communicationChannelsDisplayMode?: 'compact' | 'expanded'; enableFeedback?: boolean; enableFeedbackUserUttered?: boolean; defaultHighlightCss?: string; defaultHighlightClassname?: string; defaultHighlightAnimation?: string; waitForElementDelay?: number; tooltipElementNotFoundPayload?: string; searchMode?: SearchMode; enableIndexSearch?: boolean; baseUrl?: string; searchDisplayMode?: 'embedded' | 'popup'; enableAiSearch?: boolean; searchHints?: string[] | string; prompts?: WidgetPrompt[] | string; promptsCompact?: boolean; } /** * Widget Interface for external usage */ export declare interface WidgetRef { openWidget: () => void; openSearchPanel: () => void; openInfoPanel: () => void; openChatPanel: () => void; closeWidget: () => void; reloadWidget: () => void; setDarkMode: (darkMode: boolean) => void; openSearchPanelWith: (searchMode: 'rag' | 'index') => void; setSearchMode: (mode: 'rag' | 'index') => void; sendMessage: (message: string, type?: 'text' | 'hidden') => void; } /** * Priority for widget settings sources */ export declare type WidgetSettingsSourcePriority = 'local' | 'remote'; export declare type WidgetSize = (typeof WidgetSizes)[number]; /** * Widget size variants */ declare const WidgetSizes: readonly ["default", "small", "fullscreen", "embedded"]; export declare type WidgetType = (typeof WidgetTypes)[number]; /** * Widget display types */ declare const WidgetTypes: readonly ["button", "embedded"]; export { }