@sendbird/ai-agent-messenger-react 1.23.0 → 1.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/cjs/1RttGdBR.cjs +1 -0
  2. package/dist/cjs/B8O63u6F.cjs +1 -0
  3. package/dist/cjs/Bb7tPFDH.cjs +1 -0
  4. package/dist/cjs/BjKg30ip.cjs +1 -0
  5. package/dist/cjs/C9Y_myeI.cjs +1 -0
  6. package/dist/cjs/COfoIob1.cjs +1 -0
  7. package/dist/cjs/CY5jZKJU.cjs +1 -0
  8. package/dist/cjs/DYr6MsyB.cjs +1 -0
  9. package/dist/cjs/KpILxsy5.cjs +1 -0
  10. package/dist/cjs/Xd5FCJlT.cjs +1 -0
  11. package/dist/es/{BEqaF3DV.js → 2pVW9wFx.js} +14 -11
  12. package/dist/es/{ZdYGAJn_.js → BD5xoN7u.js} +15 -12
  13. package/dist/es/{7vCh5QlQ.js → BWZZDg7i.js} +15 -12
  14. package/dist/es/{CXt8kUk8.js → Bsfn2AhF.js} +17 -14
  15. package/dist/es/{CkoDhLul.js → C9zJZRLg.js} +15 -12
  16. package/dist/es/{BUKDIngh.js → DapNV-e6.js} +18 -15
  17. package/dist/es/{5tV340wv.js → Dj0fB0I-.js} +13 -10
  18. package/dist/es/{CsqVHJCI.js → DtO4ptZX.js} +13 -10
  19. package/dist/es/{CKLYurhd.js → E7P-wwKR.js} +11 -8
  20. package/dist/es/tbfFzmFJ.js +198 -0
  21. package/dist/index.cjs +117 -116
  22. package/dist/index.d.ts +318 -185
  23. package/dist/index.js +5383 -4685
  24. package/package.json +5 -7
  25. package/dist/cjs/BBssumix.cjs +0 -1
  26. package/dist/cjs/BCDZXq61.cjs +0 -1
  27. package/dist/cjs/Bz2jHC-Z.cjs +0 -1
  28. package/dist/cjs/CFY_588Z.cjs +0 -1
  29. package/dist/cjs/CHz4H01e.cjs +0 -1
  30. package/dist/cjs/CKPzhVy2.cjs +0 -1
  31. package/dist/cjs/CZIjo9nb.cjs +0 -1
  32. package/dist/cjs/CfhYXtgc.cjs +0 -1
  33. package/dist/cjs/DlvMdI1f.cjs +0 -1
  34. package/dist/cjs/JA0x62Fd.cjs +0 -1
  35. package/dist/cjs/Jlh8RyJW.cjs +0 -1
  36. package/dist/cjs/PhHbzZB_.cjs +0 -1
  37. package/dist/cjs/RKaCusvu.cjs +0 -1
  38. package/dist/cjs/Sz9ta-fi.cjs +0 -1
  39. package/dist/cjs/ohTjxqcW.cjs +0 -1
  40. package/dist/es/CAIYsKDy.js +0 -5
  41. package/dist/es/CZXPLnTx.js +0 -5
  42. package/dist/es/DHVHq9Fo.js +0 -5
  43. package/dist/es/DMruRpOm.js +0 -5
  44. package/dist/es/Dp48Y7fJ.js +0 -5
  45. package/dist/es/dqwvRBog.js +0 -5
package/dist/index.d.ts CHANGED
@@ -1,46 +1,43 @@
1
1
  import { Action } from '@sendbird/uikit-message-template';
2
- import { AIAgentChannelFilter } from '@sendbird/chat/aiAgent';
3
- import { AIAgentGroupChannelListQuery } from '@sendbird/chat/aiAgent';
4
- import { AIAgentModule } from '@sendbird/chat/aiAgent';
5
- import { BaseChannel } from '@sendbird/chat';
6
- import { BaseMessage } from '@sendbird/chat/message';
2
+ import type { AIAgentChannelFilter } from '@sendbird/chat/aiAgent';
3
+ import type { AIAgentGroupChannelListQuery } from '@sendbird/chat/aiAgent';
4
+ import type { AIAgentModule } from '@sendbird/chat/aiAgent';
5
+ import type { BaseChannel } from '@sendbird/chat';
6
+ import type { BaseMessage } from '@sendbird/chat/message';
7
7
  import type { CollectionEventSource } from '@sendbird/chat';
8
8
  import { ComponentType } from 'react';
9
- import { ConnectionHandler } from '@sendbird/chat';
9
+ import type { ConnectionHandler } from '@sendbird/chat';
10
10
  import { Context } from 'react';
11
- import { Conversation as Conversation_2 } from '@sendbird/chat/aiAgent';
12
- import { ConversationStatus } from '@sendbird/chat/aiAgent';
11
+ import type { Conversation as Conversation_2 } from '@sendbird/chat/aiAgent';
12
+ import type { ConversationStatus } from '@sendbird/chat/aiAgent';
13
13
  import { CSSProperties } from 'react';
14
- import { DeskChannelFilter } from '@sendbird/chat/aiAgent';
15
- import { FC } from 'react';
16
- import { FileMessage } from '@sendbird/chat/message';
17
- import { FileMessageCreateParams } from '@sendbird/chat/message';
14
+ import type { DeskChannelFilter } from '@sendbird/chat/aiAgent';
15
+ import type { FileMessage } from '@sendbird/chat/message';
16
+ import type { FileMessageCreateParams } from '@sendbird/chat/message';
18
17
  import { format } from 'date-fns';
19
18
  import { ForwardRefExoticComponent } from 'react';
20
- import { GroupChannel } from '@sendbird/chat/groupChannel';
21
- import { GroupChannelChangelogs } from '@sendbird/chat/aiAgent';
22
- import { GroupChannelHandler } from '@sendbird/chat/groupChannel';
23
- import { GroupChannelListOrder } from '@sendbird/chat/groupChannel';
24
- import { GroupChannelModule } from '@sendbird/chat/groupChannel';
19
+ import type { GroupChannel } from '@sendbird/chat/groupChannel';
20
+ import type { GroupChannelChangelogs } from '@sendbird/chat/aiAgent';
21
+ import type { GroupChannelHandler } from '@sendbird/chat/groupChannel';
22
+ import type { GroupChannelListOrder } from '@sendbird/chat/groupChannel';
23
+ import type { GroupChannelModule } from '@sendbird/chat/groupChannel';
25
24
  import { JSX } from 'react/jsx-runtime';
26
- import { LazyExoticComponent } from 'react';
27
25
  import type { Locale } from 'date-fns';
28
- import { LogLevel as LogLevel_2 } from '@sendbird/chat';
29
- import { MultipleFilesMessage } from '@sendbird/chat/message';
30
- import { MultipleFilesMessageCreateParams } from '@sendbird/chat/message';
26
+ import type { LogLevel as LogLevel_2 } from '@sendbird/chat';
27
+ import type { MultipleFilesMessage } from '@sendbird/chat/message';
28
+ import type { MultipleFilesMessageCreateParams } from '@sendbird/chat/message';
31
29
  import { PropsWithChildren } from 'react';
32
30
  import { ReactNode } from 'react';
33
31
  import { RefAttributes } from 'react';
34
32
  import { RefObject } from 'react';
35
- import { SendbirdChatParams } from '@sendbird/chat';
36
- import { SendbirdChatWith } from '@sendbird/chat';
37
- import { SendbirdError } from '@sendbird/chat';
38
- import { SessionHandler } from '@sendbird/chat';
39
- import { SVGProps } from 'react';
33
+ import type { SendbirdChatParams } from '@sendbird/chat';
34
+ import type { SendbirdChatWith } from '@sendbird/chat';
35
+ import type { SendbirdError } from '@sendbird/chat';
36
+ import type { SessionHandler } from '@sendbird/chat';
40
37
  import { UIEvent as UIEvent_2 } from 'react';
41
- import { User } from '@sendbird/chat';
42
- import { UserMessage } from '@sendbird/chat/message';
43
- import { UserMessageCreateParams } from '@sendbird/chat/message';
38
+ import type { User } from '@sendbird/chat';
39
+ import type { UserMessage } from '@sendbird/chat/message';
40
+ import type { UserMessageCreateParams } from '@sendbird/chat/message';
44
41
 
45
42
  export declare interface ActionbookInfo {
46
43
  key: string;
@@ -61,19 +58,18 @@ declare interface ActiveChannel {
61
58
  * @description Conversation status of the active channel.
62
59
  * If the conversation is not started, this will be undefined.
63
60
  * */
64
- conversationStatus?: ConversationStatus;
61
+ conversationStatus?: ChatSDKConversationStatus;
65
62
  }
66
63
 
67
64
  declare interface ActiveChannelUpdatedParams {
68
65
  channelUrl: string;
69
66
  status: ActiveChannel['status'];
70
- conversationStatus?: ConversationStatus;
67
+ conversationStatus?: ChatSDKConversationStatus;
71
68
  }
72
69
 
73
- export declare interface AgentClientHandlers {
70
+ export declare interface AgentClientHandlers extends AIAgentClientHandlers {
74
71
  onMessageSend?: (message: string) => void;
75
72
  onFunctionCallDetailClick?: (func: FunctionCallsInfo) => void;
76
- onCustomEvent?: (event: CustomEvent_2) => void;
77
73
  onInitializeFailed?: (error: Error) => void;
78
74
  }
79
75
 
@@ -154,12 +150,12 @@ customWebSocketHost?: string;
154
150
  * @public
155
151
  * @description Inject a custom Chat SDK. GroupChannelModule and AIAgentModule must be included in the initialization.
156
152
  * */
157
- customChatSDK?: SendbirdChatWith<[GroupChannelModule, AIAgentModule]>;
153
+ customChatSDK?: AIAgentChatSDK;
158
154
  /**
159
155
  * @public
160
156
  * @description Custom parameters for initializing the chat SDK.
161
157
  * */
162
- chatParams?: Partial<SendbirdChatParams<[GroupChannelModule, AIAgentModule]>>;
158
+ chatParams?: Partial<AIAgentChatSDKParams>;
163
159
  /**
164
160
  * @public
165
161
  * @description Custom state management for the ai agent client.
@@ -203,6 +199,11 @@ userSessionInfo?: ManualSessionInfo | AnonymousSessionInfo | UserSessionInfo;
203
199
  stringSet?: Partial<StringSet>;
204
200
  /**
205
201
  * @public
202
+ * @description Custom icon registry for the ai agent client.
203
+ * */
204
+ icons?: IconRegistry;
205
+ /**
206
+ * @public
206
207
  * @description dir of the widget.
207
208
  * */
208
209
  dir?: "ltr" | "rtl";
@@ -210,7 +211,7 @@ dir?: "ltr" | "rtl";
210
211
  * @public
211
212
  * @description logLevel for the ai agent client.
212
213
  * */
213
- logLevel?: LogLevel_2;
214
+ logLevel?: ChatSDKLogLevel;
214
215
  /**
215
216
  * @public
216
217
  * @description Language for the ai agent client. Should follow the IETF BCP 47 format.
@@ -288,7 +289,7 @@ __internalVariables?: InternalMessageTemplateVariables;
288
289
  children?: ReactNode | undefined;
289
290
  } & RefAttributes<MessengerSessionRef>>;
290
291
 
291
- export declare function AgentUIProviderContainer({ appearance, rootElement, logger, language, languageCode, stringSet, children, messageTemplate, theme, }: Props): JSX.Element;
292
+ export declare function AgentUIProviderContainer({ appearance, rootElement, logger, language, languageCode, stringSet, children, messageTemplate, icons, theme, entryElement, modalRootElement, }: Props): JSX.Element;
292
293
 
293
294
  declare abstract class AIAgentBaseStats {
294
295
  protected timers: Map<string, TimerData> = new Map();
@@ -383,6 +384,47 @@ declare interface AIAgentCache {
383
384
  messenger: MessengerSessionCache;
384
385
  }
385
386
 
387
+ declare type AIAgentChatSDK = ChatSDKSendbirdChatWith<[ChatSDKGroupChannelModule, ChatSDKAIAgentModule]>;
388
+
389
+ declare type AIAgentChatSDK_2 = ChatSDKSendbirdChatWith<[ChatSDKGroupChannelModule, ChatSDKAIAgentModule]>;
390
+
391
+ declare type AIAgentChatSDKParams = ChatSDKSendbirdChatParams<[ChatSDKGroupChannelModule, ChatSDKAIAgentModule]>;
392
+
393
+ declare interface AIAgentClientHandlers {
394
+ onCustomEvent?: (event: CustomEvent_2) => void;
395
+ }
396
+
397
+ declare type AIAgentCommonIconName =
398
+ | 'close'
399
+ | 'send'
400
+ | 'menu'
401
+ | 'spinner'
402
+ | 'chat'
403
+ | 'message'
404
+ | 'error'
405
+ | 'refresh'
406
+ | 'chevron-down'
407
+ | 'done'
408
+ | 'done-circle'
409
+ | 'stop'
410
+ | 'stop-circle'
411
+ | 'user'
412
+ | 'file-document'
413
+ | 'agent'
414
+ | 'radio-on'
415
+ | 'radio-off'
416
+ | 'source'
417
+ | 'copy'
418
+ | 'good'
419
+ | 'bad'
420
+ | 'good-filled'
421
+ | 'bad-filled'
422
+ | 'delight'
423
+ | 'photo'
424
+ | 'add'
425
+ | 'document'
426
+ | 'download';
427
+
386
428
  export declare interface AIAgentConfig {
387
429
  conversation?: {
388
430
  /**
@@ -438,7 +480,7 @@ export declare interface AIAgentConfig {
438
480
  * */
439
481
  messageAlertSoundEnabled?: boolean;
440
482
  /**
441
- * (React only) File viewer configuration.
483
+ * File viewer configuration.
442
484
  * */
443
485
  fileViewer?: {
444
486
  /**
@@ -456,7 +498,7 @@ declare interface AIAgentContextValue {
456
498
 
457
499
  /** @internal Do not use directly. This is an internal SDK instance. */
458
500
  _aiAgentSDK: AIAgentInterface;
459
- chatSDK: SendbirdChatWith<[GroupChannelModule, AIAgentModule]>;
501
+ chatSDK: AIAgentChatSDK_2;
460
502
  deskClient: DeskClientInterface;
461
503
 
462
504
  language: string;
@@ -471,32 +513,34 @@ declare interface AIAgentContextValue {
471
513
 
472
514
  queryParams?: AIAgentQueryParams;
473
515
  config?: AIAgentConfig;
516
+
517
+ handlers?: AIAgentClientHandlers;
474
518
  }
475
519
 
476
520
  declare interface AIAgentConversationContextValue {
477
- conversation: Conversation_2 | undefined;
521
+ conversation: ChatSDKConversation | undefined;
478
522
 
479
523
  channelSource: {
480
- channel: GroupChannel | undefined;
481
- error: SendbirdError | undefined;
524
+ channel: ChatSDKGroupChannel | undefined;
525
+ error: ChatSDKSendbirdError | undefined;
482
526
  refetch: () => Promise<void>;
483
527
  closeConversation: () => Promise<void>;
484
528
  };
485
529
 
486
530
  messageSource: {
487
- messages: BaseMessage[];
488
- newMessages: BaseMessage[];
531
+ messages: ChatSDKBaseMessage[];
532
+ newMessages: ChatSDKBaseMessage[];
489
533
  initialized: boolean;
490
534
  subscribeMessageEvents: (listener: (event: ConversationMessageEvent) => void) => () => void;
491
535
  loadPrevious: () => Promise<void>;
492
536
  loadNext: () => Promise<void>;
493
- sendUserMessage: (params: UserMessageCreateParams) => Promise<UserMessage>;
494
- sendFileMessage: (params: FileMessageCreateParams) => Promise<FileMessage>;
495
- sendMultipleFilesMessage: (params: MultipleFilesMessageCreateParams) => Promise<MultipleFilesMessage>;
496
- deleteMessage: (message: UserMessage | FileMessage | MultipleFilesMessage) => Promise<void>;
537
+ sendUserMessage: (params: ChatSDKUserMessageCreateParams) => Promise<ChatSDKUserMessage>;
538
+ sendFileMessage: (params: ChatSDKFileMessageCreateParams) => Promise<ChatSDKFileMessage>;
539
+ sendMultipleFilesMessage: (params: ChatSDKMultipleFilesMessageCreateParams) => Promise<ChatSDKMultipleFilesMessage>;
540
+ deleteMessage: (message: ChatSDKUserMessage | ChatSDKFileMessage | ChatSDKMultipleFilesMessage) => Promise<void>;
497
541
  resendMessage: (
498
- message: UserMessage | FileMessage | MultipleFilesMessage,
499
- ) => Promise<UserMessage | FileMessage | MultipleFilesMessage>;
542
+ message: ChatSDKUserMessage | ChatSDKFileMessage | ChatSDKMultipleFilesMessage,
543
+ ) => Promise<ChatSDKUserMessage | ChatSDKFileMessage | ChatSDKMultipleFilesMessage>;
500
544
  resetNewMessages: () => void;
501
545
  };
502
546
 
@@ -513,8 +557,8 @@ declare interface AIAgentConversationContextValue {
513
557
  declare interface AIAgentConversationListContextValue {
514
558
  listSource: {
515
559
  initialized: boolean;
516
- error: SendbirdError | undefined;
517
- channels: GroupChannel[];
560
+ error: ChatSDKSendbirdError | undefined;
561
+ channels: ChatSDKGroupChannel[];
518
562
  loadMore: () => Promise<void>;
519
563
  };
520
564
  }
@@ -524,12 +568,12 @@ declare interface AIAgentGroupChannelFilter {
524
568
  * The filter applied to AI agent channels.
525
569
  * It determines whether to include or exclude AI agent channels in the query results.
526
570
  */
527
- aiAgentChannelFilter?: AIAgentChannelFilter;
571
+ aiAgentChannelFilter?: ChatSDKAIAgentChannelFilter;
528
572
  /**
529
573
  * The filter applied to AI agent conversation statuses.
530
574
  * It allows filtering channels based on the status of their conversations.
531
575
  */
532
- aiAgentConversationStatusFilter?: ConversationStatus[];
576
+ aiAgentConversationStatusFilter?: ChatSDKConversationStatus[];
533
577
  /**
534
578
  * The list of AI agent IDs to filter the channels.
535
579
  * Only channels associated with these AI agents will be included in the results.
@@ -539,7 +583,7 @@ declare interface AIAgentGroupChannelFilter {
539
583
  * The filter applied to Desk channels.
540
584
  * It determines whether to include or exclude Desk channels in the query results.
541
585
  */
542
- deskChannelFilter?: DeskChannelFilter;
586
+ deskChannelFilter?: ChatSDKDeskChannelFilter;
543
587
  /**
544
588
  * The list of pinned channel URLs.
545
589
  * These channels are prioritized in the query results.
@@ -557,6 +601,22 @@ declare interface AIAgentGroupChannelFilter {
557
601
  copilotSupportChannelUrl?: string;
558
602
  }
559
603
 
604
+ declare type AIAgentIconComponent = ComponentType<AIAgentIconComponentProps>;
605
+
606
+ declare type AIAgentIconComponentProps = {
607
+ size?: number | string;
608
+ color?: string;
609
+ /**
610
+ * Metadata flag. When true, this icon is a direction-sensitive glyph and should be
611
+ * horizontally flipped by the implementation when rendered in an RTL layout.
612
+ * The value does not reflect the current layout direction — it only marks the icon
613
+ * as eligible for flipping.
614
+ */
615
+ flipInRtl?: boolean;
616
+ };
617
+
618
+ declare type AIAgentIconRegistry<T extends string = AIAgentCommonIconName> = Partial<Record<T, AIAgentIconComponent>>;
619
+
560
620
  declare interface AIAgentInfo {
561
621
  userId: string;
562
622
  nickname: string;
@@ -637,7 +697,7 @@ declare interface AIAgentInterface {
637
697
  refreshActiveChannel: (options?: { useKnownActiveChannelUrl?: boolean }) => Promise<string>;
638
698
 
639
699
  /** @internal Initializes a conversation on the channel if needed (AI Agent channel without conversation). */
640
- initConversationIfNeeded: (channel: GroupChannel) => Promise<void>;
700
+ initConversationIfNeeded: (channel: ChatSDKGroupChannel) => Promise<void>;
641
701
 
642
702
  /** Disposes all resources held by this instance (WebSocket, desk auth, event handlers). */
643
703
  dispose: () => void;
@@ -663,7 +723,7 @@ declare interface AIAgentLanguageSet {
663
723
  declare interface AIAgentMessengerSessionContextValue {
664
724
  userSessionInfo?: UserSessionInfo | ManualSessionInfo | AnonymousSessionInfo;
665
725
 
666
- sdkUser: null | User;
726
+ sdkUser: null | ChatSDKUser;
667
727
  userSession: null | UserSession;
668
728
  aiAgentInfo: null | AIAgentInfo;
669
729
  launcherInfo: null | LauncherInfo;
@@ -680,7 +740,7 @@ declare interface AIAgentMessengerSessionContextValue {
680
740
  authenticate: () => Promise<MessengerSettingsResponse>;
681
741
  deauthenticate: () => Promise<void>;
682
742
 
683
- createAttachmentRules: (params: { channel?: GroupChannel; uploadSizeLimit?: number }) => AttachmentRules;
743
+ createAttachmentRules: (params: { channel?: ChatSDKGroupChannel; uploadSizeLimit?: number }) => AttachmentRules;
684
744
  /**
685
745
  * @internal
686
746
  */
@@ -726,12 +786,12 @@ export declare type AIAgentProps = PropsWithChildren<{
726
786
  * @public
727
787
  * @description Inject a custom Chat SDK. GroupChannelModule and AIAgentModule must be included in the initialization.
728
788
  * */
729
- customChatSDK?: SendbirdChatWith<[GroupChannelModule, AIAgentModule]>;
789
+ customChatSDK?: AIAgentChatSDK;
730
790
  /**
731
791
  * @public
732
792
  * @description Custom parameters for initializing the chat SDK.
733
793
  * */
734
- chatParams?: Partial<SendbirdChatParams<[GroupChannelModule, AIAgentModule]>>;
794
+ chatParams?: Partial<AIAgentChatSDKParams>;
735
795
  /**
736
796
  * @public
737
797
  * @description Custom state management for the ai agent client.
@@ -775,6 +835,11 @@ export declare type AIAgentProps = PropsWithChildren<{
775
835
  * @description Localization string set for the ai agent client.
776
836
  * */
777
837
  stringSet?: Partial<StringSet>;
838
+ /**
839
+ * @public
840
+ * @description Custom icon registry for the ai agent client.
841
+ * */
842
+ icons?: IconRegistry;
778
843
  /**
779
844
  * @public
780
845
  * @description dir of the widget.
@@ -784,7 +849,7 @@ export declare type AIAgentProps = PropsWithChildren<{
784
849
  * @public
785
850
  * @description logLevel for the ai agent client.
786
851
  * */
787
- logLevel?: LogLevel_2;
852
+ logLevel?: ChatSDKLogLevel;
788
853
  /**
789
854
  * @public
790
855
  * @description Language for the ai agent client. Should follow the IETF BCP 47 format.
@@ -868,7 +933,7 @@ export declare interface AIAgentQueryParams {
868
933
  * @description Represents an authenticated session state. Created after successful authentication.
869
934
  */
870
935
  declare class AIAgentSession {
871
- private readonly _sdkUser: User;
936
+ private readonly _sdkUser: ChatSDKUser;
872
937
  private readonly _userSession: UserSession;
873
938
  private readonly _dispatcher: Dispatcher;
874
939
  private _activeChannel: ActiveChannel;
@@ -883,7 +948,7 @@ declare class AIAgentSession {
883
948
  /**
884
949
  * The authenticated Sendbird user.
885
950
  */
886
- get sdkUser(): User {
951
+ get sdkUser(): ChatSDKUser {
887
952
  return this._sdkUser;
888
953
  }
889
954
 
@@ -929,12 +994,12 @@ declare class AIAgentSession {
929
994
  /**
930
995
  * AI Agent session handler.
931
996
  * */
932
- declare interface AIAgentSessionHandler extends SessionHandler {
997
+ declare interface AIAgentSessionHandler extends ChatSDKSessionHandler {
933
998
  onExternalAuthTokenExpired?: (data: ExternalAuthTokenExpiredData) => void;
934
999
  }
935
1000
 
936
1001
  declare interface AIAgentSessionParams {
937
- sdkUser: User;
1002
+ sdkUser: ChatSDKUser;
938
1003
  userSession: UserSession;
939
1004
  activeChannel: ActiveChannel;
940
1005
  dispatcher: Dispatcher;
@@ -967,7 +1032,7 @@ declare interface AIAgentStringSet {
967
1032
  powered_by: string;
968
1033
  citation_title: string;
969
1034
  start_new_conversation_label: string;
970
- scroll_to_new_messages_label: (messages: BaseMessage[]) => string;
1035
+ scroll_to_new_messages_label: (messages: ChatSDKBaseMessage[]) => string;
971
1036
 
972
1037
  failed_message_resend: string;
973
1038
  failed_message_remove: string;
@@ -1027,6 +1092,14 @@ declare interface AIAgentStringSet {
1027
1092
  a11y_hint_open_file: string;
1028
1093
  a11y_hint_open_image: string;
1029
1094
  a11y_hint_send_reply: string;
1095
+
1096
+ image_viewer_default_title: string;
1097
+ a11y_image_viewer_close: string;
1098
+ a11y_image_viewer_previous: string;
1099
+ a11y_image_viewer_next: string;
1100
+ a11y_image_viewer_download: string;
1101
+
1102
+ attachment_document: string;
1030
1103
  };
1031
1104
 
1032
1105
  conversation_list: {
@@ -1094,6 +1167,11 @@ declare interface AIAgentStringSet {
1094
1167
  confirm_cancel: string;
1095
1168
  confirm_handoff: string;
1096
1169
  };
1170
+
1171
+ connection_delay: {
1172
+ title: string;
1173
+ description: (formattedTime: string) => string;
1174
+ };
1097
1175
  }
1098
1176
 
1099
1177
  declare type AnonUserSessionData = { userId: string; authToken: string; expireAt: number };
@@ -1151,7 +1229,63 @@ declare type BaseMessageProps<T> = T & {
1151
1229
  children?: ReactNode;
1152
1230
  };
1153
1231
 
1154
- declare type ChatSDKType = SendbirdChatWith<[GroupChannelModule, AIAgentModule]>;
1232
+ declare type ChatSDKAIAgentChannelFilter = AIAgentChannelFilter;
1233
+
1234
+ declare type ChatSDKAIAgentGroupChannelListQuery = AIAgentGroupChannelListQuery;
1235
+
1236
+ declare type ChatSDKAIAgentModule = AIAgentModule;
1237
+
1238
+ declare type ChatSDKBaseChannel = BaseChannel;
1239
+
1240
+ declare type ChatSDKBaseMessage = BaseMessage;
1241
+
1242
+ declare type ChatSDKCollectionEventSource = CollectionEventSource;
1243
+
1244
+ declare type ChatSDKConnectionHandler = ConnectionHandler;
1245
+
1246
+ declare type ChatSDKConversation = Conversation_2;
1247
+
1248
+ declare type ChatSDKConversationStatus = ConversationStatus;
1249
+
1250
+ declare type ChatSDKDeskChannelFilter = DeskChannelFilter;
1251
+
1252
+ declare type ChatSDKFileMessage = FileMessage;
1253
+
1254
+ declare type ChatSDKFileMessageCreateParams = FileMessageCreateParams;
1255
+
1256
+ declare type ChatSDKGroupChannel = GroupChannel;
1257
+
1258
+ declare type ChatSDKGroupChannelChangelogs = GroupChannelChangelogs;
1259
+
1260
+ declare type ChatSDKGroupChannelHandler = GroupChannelHandler;
1261
+
1262
+ declare type ChatSDKGroupChannelListOrder = GroupChannelListOrder;
1263
+
1264
+ declare type ChatSDKGroupChannelModule = GroupChannelModule;
1265
+
1266
+ declare type ChatSDKLogLevel = LogLevel_2;
1267
+
1268
+ declare type ChatSDKModule = ChatSDKGroupChannelModule | ChatSDKAIAgentModule;
1269
+
1270
+ declare type ChatSDKMultipleFilesMessage = MultipleFilesMessage;
1271
+
1272
+ declare type ChatSDKMultipleFilesMessageCreateParams = MultipleFilesMessageCreateParams;
1273
+
1274
+ declare type ChatSDKSendbirdChatParams<Modules extends ChatSDKModule[]> = SendbirdChatParams<Modules>;
1275
+
1276
+ declare type ChatSDKSendbirdChatWith<Modules extends ChatSDKModule[]> = SendbirdChatWith<Modules>;
1277
+
1278
+ declare type ChatSDKSendbirdError = SendbirdError;
1279
+
1280
+ declare type ChatSDKSessionHandler = SessionHandler;
1281
+
1282
+ declare type ChatSDKType = ChatSDKSendbirdChatWith<[ChatSDKGroupChannelModule, ChatSDKAIAgentModule]>;
1283
+
1284
+ declare type ChatSDKUser = User;
1285
+
1286
+ declare type ChatSDKUserMessage = UserMessage;
1287
+
1288
+ declare type ChatSDKUserMessageCreateParams = UserMessageCreateParams;
1155
1289
 
1156
1290
  export declare interface CitationInfo {
1157
1291
  embedding_id: number;
@@ -1238,6 +1372,36 @@ declare enum CommandType {
1238
1372
  AuthTokenRefreshed = 'auth.token.refreshed',
1239
1373
  }
1240
1374
 
1375
+ export declare interface ConnectionDelayDialogProps {
1376
+ title: string;
1377
+ description: string;
1378
+ highlightedText?: string;
1379
+ }
1380
+
1381
+ export declare const ConnectionDelayLayout: {
1382
+ (props: PropsWithChildren): ReactNode;
1383
+ defaults: {
1384
+ template: ComponentType<unknown>;
1385
+ components: {
1386
+ Dialog: ({ title, description, highlightedText }: ConnectionDelayDialogProps) => ReactNode;
1387
+ };
1388
+ };
1389
+ Template: ({ template, children }: {
1390
+ template?: ComponentType<unknown> | undefined;
1391
+ children?: ReactNode;
1392
+ }) => JSX.Element;
1393
+ Context: Context<LayoutContextValue<unknown, {
1394
+ Dialog: ({ title, description, highlightedText }: ConnectionDelayDialogProps) => ReactNode;
1395
+ }>>;
1396
+ useContext: () => LayoutContextValue<unknown, {
1397
+ Dialog: ({ title, description, highlightedText }: ConnectionDelayDialogProps) => ReactNode;
1398
+ }>;
1399
+ } & {
1400
+ Dialog: (props: {
1401
+ component: ({ title, description, highlightedText }: ConnectionDelayDialogProps) => ReactNode;
1402
+ }) => null;
1403
+ };
1404
+
1241
1405
  declare interface ContextObject {
1242
1406
  language?: string;
1243
1407
  country?: string;
@@ -1541,24 +1705,24 @@ declare class ConversationListCollection {
1541
1705
  readonly filter?: AIAgentGroupChannelFilter;
1542
1706
 
1543
1707
  private _sdk: ChatSDKType;
1544
- private _pinnedChannels: GroupChannel[];
1545
- private _channels: GroupChannel[];
1708
+ private _pinnedChannels: ChatSDKGroupChannel[];
1709
+ private _channels: ChatSDKGroupChannel[];
1546
1710
 
1547
1711
  private _isDisposed = false;
1548
1712
  private _handlerId = `handler-id-${Date.now()}`;
1549
- private _order: GroupChannelListOrder = GroupChannelListOrder.LATEST_LAST_MESSAGE;
1713
+ private _order: ChatSDKGroupChannelListOrder = GroupChannelListOrder.LATEST_LAST_MESSAGE;
1550
1714
 
1551
1715
  private _limit: number;
1552
- private _query: AIAgentGroupChannelListQuery;
1716
+ private _query: ChatSDKAIAgentGroupChannelListQuery;
1553
1717
 
1554
1718
  private _token: string;
1555
1719
  private _timestamp: number;
1556
1720
  private _isSyncing: boolean;
1557
1721
 
1558
- private _channelHandler: GroupChannelHandler;
1559
- private _connectionHandler: ConnectionHandler;
1722
+ private _channelHandler: ChatSDKGroupChannelHandler;
1723
+ private _connectionHandler: ChatSDKConnectionHandler;
1560
1724
  private _collectionEventHandler?: ConversationListCollectionEventHandler;
1561
- private _throttledOnChannelChanged: ThrottledFunction<(channel: BaseChannel) => void>;
1725
+ private _throttledOnChannelChanged: ThrottledFunction<(channel: ChatSDKBaseChannel) => void>;
1562
1726
 
1563
1727
  /**
1564
1728
  * Creates a new ConversationListCollection instance.
@@ -1589,7 +1753,7 @@ declare class ConversationListCollection {
1589
1753
  this._isSyncing = false;
1590
1754
 
1591
1755
  this._throttledOnChannelChanged = throttle(
1592
- (channel: GroupChannel) => {
1756
+ (channel: ChatSDKGroupChannel) => {
1593
1757
  if (this._query.belongsTo(channel)) {
1594
1758
  this._addChannelsToView([channel], false);
1595
1759
  } else {
@@ -1631,7 +1795,7 @@ declare class ConversationListCollection {
1631
1795
  * Sets the default changelog sync timestamp based on the first non-pinned channel.
1632
1796
  * @param channels - Array of channels to analyze
1633
1797
  */
1634
- private _setDefaultChangelogsSyncTimestamp(channels: GroupChannel[]) {
1798
+ private _setDefaultChangelogsSyncTimestamp(channels: ChatSDKGroupChannel[]) {
1635
1799
  const pinnedUrlsSet = new Set(this.filter?.pinnedChannelUrls ?? []);
1636
1800
  const firstChannel = channels.find((it) => {
1637
1801
  return !pinnedUrlsSet.has(it.url);
@@ -1653,13 +1817,13 @@ declare class ConversationListCollection {
1653
1817
  * Synchronizes channel changelogs to keep the collection up-to-date.
1654
1818
  * @returns Promise that resolves to an empty array
1655
1819
  */
1656
- private async _syncChannelChangelogs(): Promise<GroupChannel[]> {
1820
+ private async _syncChannelChangelogs(): Promise<ChatSDKGroupChannel[]> {
1657
1821
  if (this._isDisposed) return [];
1658
1822
  if (this._isSyncing) return [];
1659
1823
 
1660
1824
  try {
1661
1825
  this._isSyncing = true;
1662
- let response: GroupChannelChangelogs;
1826
+ let response: ChatSDKGroupChannelChangelogs;
1663
1827
 
1664
1828
  if (this._token) {
1665
1829
  response = await this._sdk.aiAgent.getMyGroupChannelChangeLogsByToken(this._token, this.filter);
@@ -1690,16 +1854,16 @@ declare class ConversationListCollection {
1690
1854
  * @param channels - Pinned channels to upsert
1691
1855
  * @returns Object containing added, updated channels and unmatched URLs
1692
1856
  */
1693
- private _upsertPinnedChannelsToArray(channels: GroupChannel[]): {
1694
- addedChannels: GroupChannel[];
1695
- updatedChannels: GroupChannel[];
1857
+ private _upsertPinnedChannelsToArray(channels: ChatSDKGroupChannel[]): {
1858
+ addedChannels: ChatSDKGroupChannel[];
1859
+ updatedChannels: ChatSDKGroupChannel[];
1696
1860
  unmatchedChannelUrls: string[];
1697
1861
  } {
1698
1862
  const pinnedUrls = this.filter?.pinnedChannelUrls ?? [];
1699
1863
  const pinnedIndexMap = new Map(pinnedUrls.map((url, index) => [url, index]));
1700
1864
 
1701
- const addedChannels: GroupChannel[] = [];
1702
- const updatedChannels: GroupChannel[] = [];
1865
+ const addedChannels: ChatSDKGroupChannel[] = [];
1866
+ const updatedChannels: ChatSDKGroupChannel[] = [];
1703
1867
  const unmatchedChannelUrls: string[] = [];
1704
1868
 
1705
1869
  for (const channel of channels) {
@@ -1740,13 +1904,13 @@ declare class ConversationListCollection {
1740
1904
  * @returns Object containing added, updated channels and unmatched URLs
1741
1905
  */
1742
1906
  private _upsertRegularChannelsToArray(
1743
- channels: GroupChannel[],
1907
+ channels: ChatSDKGroupChannel[],
1744
1908
  forceAppend = false,
1745
- ): { addedChannels: GroupChannel[]; updatedChannels: GroupChannel[]; unmatchedChannelUrls: string[] } {
1909
+ ): { addedChannels: ChatSDKGroupChannel[]; updatedChannels: ChatSDKGroupChannel[]; unmatchedChannelUrls: string[] } {
1746
1910
  const unmatchedChannelUrls: string[] = [];
1747
1911
 
1748
- const addedChannels: GroupChannel[] = [];
1749
- const updatedChannels: GroupChannel[] = [];
1912
+ const addedChannels: ChatSDKGroupChannel[] = [];
1913
+ const updatedChannels: ChatSDKGroupChannel[] = [];
1750
1914
 
1751
1915
  for (const channel of channels) {
1752
1916
  if (!this._query.belongsTo(channel)) {
@@ -1789,11 +1953,11 @@ declare class ConversationListCollection {
1789
1953
  * @param channels - Channels to add or update
1790
1954
  * @param forceAppend - Whether to force append channels at the end
1791
1955
  */
1792
- private _addChannelsToView(channels: GroupChannel[], forceAppend = false): void {
1956
+ private _addChannelsToView(channels: ChatSDKGroupChannel[], forceAppend = false): void {
1793
1957
  const pinnedUrlsSet = new Set(this.filter?.pinnedChannelUrls ?? []);
1794
1958
 
1795
- const pinnedChannels: GroupChannel[] = [];
1796
- const regularChannels: GroupChannel[] = [];
1959
+ const pinnedChannels: ChatSDKGroupChannel[] = [];
1960
+ const regularChannels: ChatSDKGroupChannel[] = [];
1797
1961
 
1798
1962
  for (const channel of channels) {
1799
1963
  if (pinnedUrlsSet.has(channel.url)) {
@@ -1847,7 +2011,7 @@ declare class ConversationListCollection {
1847
2011
  * Pinned channels are always returned first, followed by non-pinned channels.
1848
2012
  * @returns Array of GroupChannel objects
1849
2013
  */
1850
- public get channels(): GroupChannel[] {
2014
+ public get channels(): ChatSDKGroupChannel[] {
1851
2015
  return this._isDisposed ? [] : [...this._pinnedChannels, ...this._channels];
1852
2016
  }
1853
2017
 
@@ -1863,7 +2027,7 @@ declare class ConversationListCollection {
1863
2027
  * Loads the next batch of channels from the server.
1864
2028
  * @returns Promise that resolves to an array of newly loaded channels
1865
2029
  */
1866
- public async loadMore(): Promise<GroupChannel[]> {
2030
+ public async loadMore(): Promise<ChatSDKGroupChannel[]> {
1867
2031
  if (this._isDisposed) return [];
1868
2032
 
1869
2033
  if (this.hasMore) {
@@ -1904,9 +2068,9 @@ declare class ConversationListCollection {
1904
2068
 
1905
2069
  declare interface ConversationListCollectionEventHandler {
1906
2070
  /** Called when there are newly added {@link GroupChannel}s. */
1907
- onChannelsAdded?: (context: ConversationListContext_2, channels: GroupChannel[]) => void;
2071
+ onChannelsAdded?: (context: ConversationListContext_2, channels: ChatSDKGroupChannel[]) => void;
1908
2072
  /** Called when there's an update in one or more of the {@link GroupChannel}s that `GroupChannelCollection` holds. */
1909
- onChannelsUpdated?: (context: ConversationListContext_2, channels: GroupChannel[]) => void;
2073
+ onChannelsUpdated?: (context: ConversationListContext_2, channels: ChatSDKGroupChannel[]) => void;
1910
2074
  /** Called when one or more of the {@link GroupChannel}s that `GroupChannelCollection` holds has been deleted. */
1911
2075
  onChannelsDeleted?: (context: ConversationListContext_2, channelUrls: string[]) => void;
1912
2076
  }
@@ -2004,7 +2168,7 @@ export declare const ConversationListItemLayout: {
2004
2168
  } & {};
2005
2169
 
2006
2170
  export declare interface ConversationListItemProps {
2007
- channel: GroupChannel;
2171
+ channel: ChatSDKGroupChannel;
2008
2172
  channelUrl: string;
2009
2173
  onClick?: () => void;
2010
2174
  /** @deprecated **/
@@ -2054,18 +2218,18 @@ declare type ConversationMessageEvent = ConversationMessageEventPayload & { id:
2054
2218
  declare type ConversationMessageEventPayload =
2055
2219
  | {
2056
2220
  kind: 'messagesAdded';
2057
- source: CollectionEventSource;
2058
- messages: BaseMessage[];
2221
+ source: ChatSDKCollectionEventSource;
2222
+ messages: ChatSDKBaseMessage[];
2059
2223
  }
2060
2224
  | {
2061
2225
  kind: 'messagesUpdated';
2062
- source: CollectionEventSource;
2063
- messages: BaseMessage[];
2226
+ source: ChatSDKCollectionEventSource;
2227
+ messages: ChatSDKBaseMessage[];
2064
2228
  }
2065
2229
  | {
2066
2230
  kind: 'initialized';
2067
2231
  source: 'cache' | 'api';
2068
- messages: BaseMessage[];
2232
+ messages: ChatSDKBaseMessage[];
2069
2233
  };
2070
2234
 
2071
2235
  declare interface ConversationScrollContextValue {
@@ -2136,17 +2300,20 @@ export declare enum CSATType {
2136
2300
  HELPDESK_CSAT_5 = 'HELPDESK_CSAT_5',
2137
2301
  }
2138
2302
 
2139
- declare type CustomEvent_2 = {
2303
+ declare type CustomEvent_2 =
2304
+ | {
2140
2305
  type: 'message-sent-pending' | 'message-sent-succeeded';
2141
2306
  data: {
2142
- message: BaseMessage;
2307
+ message: ChatSDKBaseMessage;
2143
2308
  };
2144
- } | {
2309
+ }
2310
+ | {
2145
2311
  type: 'bot-message-received';
2146
2312
  data: {
2147
- message: BaseMessage;
2313
+ message: ChatSDKBaseMessage;
2148
2314
  };
2149
- } | {
2315
+ }
2316
+ | {
2150
2317
  type: 'user-action-requested';
2151
2318
  data: UserActionRequestedData;
2152
2319
  };
@@ -2409,64 +2576,13 @@ export declare interface GroundednessInfo {
2409
2576
  */
2410
2577
  declare type HexColor = `#${string}`;
2411
2578
 
2412
- /**
2413
- * frequently used icons are imported statically, and others are imported dynamically.
2414
- * */
2415
- declare const icons: {
2416
- readonly close: FC<SVGProps<SVGElement>>;
2417
- readonly send: FC<SVGProps<SVGElement>>;
2418
- readonly menu: FC<SVGProps<SVGElement>>;
2419
- readonly expand: FC<SVGProps<SVGElement>>;
2420
- readonly collapse: FC<SVGProps<SVGElement>>;
2421
- readonly spinner: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2422
- readonly chat: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2423
- readonly message: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2424
- readonly error: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2425
- readonly info: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2426
- readonly refresh: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2427
- readonly 'chevron-down': LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2428
- readonly 'chevron-right': LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2429
- readonly done: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2430
- readonly 'done-circle': LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2431
- readonly stop: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2432
- readonly 'stop-circle': LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2433
- readonly user: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2434
- readonly 'file-document': LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2435
- readonly download: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2436
- readonly attach: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2437
- readonly delete: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2438
- readonly 'close-filled': LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2439
- readonly agent: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2440
- readonly question: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2441
- readonly actionbook: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2442
- readonly function: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2443
- readonly 'radio-on': LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2444
- readonly 'radio-off': LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2445
- readonly confluence: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2446
- readonly zendesk: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2447
- readonly salesforce: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2448
- readonly sprinklr: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2449
- readonly website: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2450
- readonly snippet: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2451
- readonly template: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2452
- readonly source: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2453
- readonly bot: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2454
- readonly 'bot-filled': LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2455
- readonly copy: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2456
- readonly show: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2457
- readonly mute: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2458
- readonly good: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2459
- readonly bad: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2460
- readonly 'good-filled': LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2461
- readonly 'bad-filled': LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2462
- readonly delight: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2463
- readonly photo: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2464
- readonly 'arrow-left': LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2465
- readonly add: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2466
- readonly document: LazyExoticComponent<FC<SVGProps<SVGElement>>>;
2467
- };
2579
+ export declare type IconComponent = AIAgentIconComponent;
2468
2580
 
2469
- declare type IconType = keyof typeof icons;
2581
+ export declare type IconComponentProps = AIAgentIconComponentProps;
2582
+
2583
+ export declare type IconRegistry = AIAgentIconRegistry<IconType>;
2584
+
2585
+ export declare type IconType = AIAgentCommonIconName | ReactOnlyIconName;
2470
2586
 
2471
2587
  declare type IncomingBaseMessageProps<T> = T &
2472
2588
  BaseMessageProps<{
@@ -3574,22 +3690,13 @@ declare type IncomingMessageUnion =
3574
3690
 
3575
3691
  declare function IncomingTextBody(props: IncomingMessageBodyProps): JSX.Element | null;
3576
3692
 
3577
- declare type InputMode = 'enabled' | 'readOnly' | 'disabled';
3578
-
3579
- declare type InputState = {
3580
- _mode: InputMode;
3581
- disabled: boolean;
3582
- disabledBy:
3583
- | 'unavailable'
3584
- | 'form_active'
3585
- | 'ai_responding'
3586
- | 'conversation_closed'
3587
- | 'suggested_replies'
3588
- | 'steward'
3589
- | 'system'
3590
- | 'reconnecting'
3591
- | 'handoff_pending'
3592
- | (string & {});
3693
+ declare type InputState =
3694
+ | { disabled: false; disabledBy: ''; focusPolicy: 'auto' }
3695
+ | { disabled: true; disabledBy: 'ai_responding'; focusPolicy: 'preserve' }
3696
+ | {
3697
+ disabled: true;
3698
+ disabledBy: ReleaseDisabledByValue;
3699
+ focusPolicy: 'release';
3593
3700
  };
3594
3701
 
3595
3702
  declare type InternalExtraProps = {
@@ -3611,7 +3718,7 @@ declare interface LanguageSet extends Omit<AIAgentLanguageSet, 'strings'> {
3611
3718
  stringSet: StringSet;
3612
3719
  }
3613
3720
 
3614
- export declare function LauncherBase({ className, children, isOpened, onClick, ariaLabel, 'aria-label': ariaLabelProp, 'aria-describedby': ariaDescribedBy, type, imageUrl, dir, animated, backgroundColor, size, }: LauncherProps): JSX.Element;
3721
+ export declare function LauncherBase({ className, children, isOpened, onClick, 'aria-label': ariaLabel, 'aria-describedby': ariaDescribedBy, type, imageUrl, dir, animated, backgroundColor, size, }: LauncherProps): JSX.Element;
3615
3722
 
3616
3723
  declare type LauncherImageType = 'default_icon' | 'custom_image';
3617
3724
 
@@ -3625,8 +3732,7 @@ declare type LauncherProps = {
3625
3732
  children?: ReactNode;
3626
3733
  isOpened: boolean;
3627
3734
  onClick?: () => void;
3628
- ariaLabel?: string;
3629
- 'aria-label'?: string;
3735
+ 'aria-label': string;
3630
3736
  'aria-describedby'?: string;
3631
3737
  type: LauncherImageType;
3632
3738
  imageUrl: string;
@@ -3945,7 +4051,7 @@ declare type NumberField = {
3945
4051
  };
3946
4052
 
3947
4053
  declare type OnJoinedProactiveConversation = (params: {
3948
- channel: GroupChannel;
4054
+ channel: ChatSDKGroupChannel;
3949
4055
  }) => void;
3950
4056
 
3951
4057
  declare type OutgoingBaseMessageProps<T> = T &
@@ -4193,6 +4299,7 @@ declare type Props = {
4193
4299
  language?: string;
4194
4300
  /** @internal DO NOT USE THIS **/
4195
4301
  languageCode?: string;
4302
+ icons?: IconRegistry;
4196
4303
  theme?: {
4197
4304
  palette?: Partial<PaletteShape>;
4198
4305
  typography?: Partial<{
@@ -4200,6 +4307,10 @@ declare type Props = {
4200
4307
  }>;
4201
4308
  colors?: ColorSetInput;
4202
4309
  };
4310
+ /** @internal */
4311
+ entryElement?: HTMLElement;
4312
+ /** @internal */
4313
+ modalRootElement?: HTMLElement;
4203
4314
  /** @internal DO NOT USE THIS **/
4204
4315
  messageTemplate?: {
4205
4316
  /** @internal DO NOT USE THIS **/
@@ -4252,12 +4363,24 @@ declare type Props_4 = PropsWithChildren<{
4252
4363
  style?: CSSProperties;
4253
4364
  }>;
4254
4365
 
4366
+ declare type ReactOnlyIconName = 'expand' | 'collapse' | 'chevron-right' | 'attach' | 'close-filled' | 'actionbook' | 'function' | 'confluence' | 'zendesk' | 'salesforce' | 'sprinklr' | 'website' | 'snippet' | 'template' | 'show' | 'mute';
4367
+
4368
+ declare type ReleaseDisabledByValue =
4369
+ | 'unavailable'
4370
+ | 'form_active'
4371
+ | 'conversation_closed'
4372
+ | 'suggested_replies'
4373
+ | 'steward'
4374
+ | 'system'
4375
+ | 'reconnecting'
4376
+ | 'handoff_pending';
4377
+
4255
4378
  declare type SBUFoundationProps<T = NonNullable<unknown>> = T & {
4256
4379
  className?: string;
4257
4380
  children?: ReactNode;
4258
4381
  testId?: string;
4259
4382
  style?: CSSProperties;
4260
- ariaLabel?: string;
4383
+ 'aria-label'?: string;
4261
4384
  };
4262
4385
 
4263
4386
  export declare type ScrollToBottomButtonProps = SBUFoundationProps<{
@@ -4470,11 +4593,13 @@ declare type StringSet = {
4470
4593
  A11Y_HINT_OPEN_IMAGE: string;
4471
4594
  A11Y_HINT_SEND_REPLY: string;
4472
4595
  A11Y_HINT_SELECT_RATING: string;
4473
- SCROLL_TO_NEW_MESSAGES_LABEL: (messages: BaseMessage[]) => string;
4596
+ SCROLL_TO_NEW_MESSAGES_LABEL: (messages: ChatSDKBaseMessage[]) => string;
4474
4597
  HANDOFF_CONFIRM__TITLE: string;
4475
4598
  HANDOFF_CONFIRM__DESCRIPTION: string;
4476
4599
  HANDOFF_CONFIRM__CANCEL: string;
4477
4600
  HANDOFF_CONFIRM__HANDOFF: string;
4601
+ CONNECTION_DELAY__TITLE: string;
4602
+ CONNECTION_DELAY__DESCRIPTION: (formattedTime: string) => string;
4478
4603
  /** @deprecated Please use DATE_FORMAT__DATE_SHORT instead. **/
4479
4604
  DATE_FORMAT__CONVERSATION_LIST__LIST_ITEM_TITLE: string;
4480
4605
  /** @deprecated Unused string **/
@@ -4634,7 +4759,15 @@ export declare interface UserActionRequestedData {
4634
4759
  }[];
4635
4760
  }
4636
4761
 
4637
- export declare type UserActionStatus = 'action_requested' | 'action_started' | 'action_submitted' | 'action_processing' | 'action_succeeded' | 'action_failed' | 'action_canceled' | (string & {});
4762
+ export declare type UserActionStatus =
4763
+ | 'action_requested'
4764
+ | 'action_started'
4765
+ | 'action_submitted'
4766
+ | 'action_processing'
4767
+ | 'action_succeeded'
4768
+ | 'action_failed'
4769
+ | 'action_canceled'
4770
+ | (string & {});
4638
4771
 
4639
4772
  export declare const useRefreshActiveChannel: (updater: () => Promise<void>) => () => Promise<void>;
4640
4773