@adatechnology/conversations-ui 0.1.0-rc.24 → 0.1.0-rc.26

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.
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as react from 'react';
2
2
  import react__default, { ReactNode, CSSProperties, UIEvent, FormEvent, RefObject } from 'react';
3
- import { G as MessagePayload, N as ResolveMediaUrl, z as InteractiveSelection, J as MessageTranscription, x as InteractivePayload, r as ConversationsFeatures, o as ConversationSummary, j as ConversationChannel, L as ListConversationsParams, q as ConversationsApi, S as SSEProvider, T as TranscriptionMode, B as ListDocumentsParams, k as ConversationDocument, p as ConversationTemplate, f as ChannelFilter, g as ChannelFilterOption } from './types-C6A_9edv.js';
4
- export { A as AudioRecorderButton, a as AudioRecorderButtonLabels, b as AudioRecorderButtonProps, C as CHANNEL_CAPABILITIES, c as CHANNEL_FILTER_ALL, d as CONVERSATION_CHANNEL, e as ChannelCapabilities, h as CompanyDocument, i as CompanyDocumentPage, l as ConversationDocumentPage, m as ConversationEventSource, n as ConversationPage, s as ConversationsTheme, t as ConversationsUIConfig, D as DEFAULT_AUDIO_RECORDER_BUTTON_LABELS, u as DEFAULT_CONVERSATION_CHANNEL, v as DEFAULT_MAX_RECORDING_MILLISECONDS, F as FormatContactHandleParams, H as HANDLE_KIND, w as HandleKind, I as InteractiveOption, y as InteractiveSection, M as MediaRenderer, E as MediaRendererProps, R as REOPEN_MECHANISM, K as ReopenMechanism, O as TranscriptionStatus, P as capabilitiesOf, Q as channelFiltersFor, U as contactFlag, V as formatContactHandle } from './types-C6A_9edv.js';
3
+ import { G as MessagePayload, N as ResolveMediaUrl, z as InteractiveSelection, J as MessageTranscription, x as InteractivePayload, r as ConversationsFeatures, o as ConversationSummary, j as ConversationChannel, L as ListConversationsParams, q as ConversationsApi, S as SSEProvider, T as TranscriptionMode, B as ListDocumentsParams, k as ConversationDocument, p as ConversationTemplate, f as ChannelFilter, g as ChannelFilterOption } from './types-BfINicc-.js';
4
+ export { A as AudioRecorderButton, a as AudioRecorderButtonLabels, b as AudioRecorderButtonProps, C as CHANNEL_CAPABILITIES, c as CHANNEL_FILTER_ALL, d as CONVERSATION_CHANNEL, e as ChannelCapabilities, h as CompanyDocument, i as CompanyDocumentPage, l as ConversationDocumentPage, m as ConversationEventSource, n as ConversationPage, s as ConversationsTheme, t as ConversationsUIConfig, D as DEFAULT_AUDIO_RECORDER_BUTTON_LABELS, u as DEFAULT_CONVERSATION_CHANNEL, v as DEFAULT_MAX_RECORDING_MILLISECONDS, F as FormatContactHandleParams, H as HANDLE_KIND, w as HandleKind, I as InteractiveOption, y as InteractiveSection, M as MediaRenderer, E as MediaRendererProps, R as REOPEN_MECHANISM, K as ReopenMechanism, O as TranscriptionStatus, P as capabilitiesOf, Q as channelFiltersFor, U as contactFlag, V as formatContactHandle } from './types-BfINicc-.js';
5
5
 
6
6
  interface MessageBubbleProps {
7
7
  message: MessagePayload;
@@ -733,6 +733,158 @@ interface DocumentsLibraryProps {
733
733
  }
734
734
  declare function DocumentsLibrary({ perPage, onOpenConversation, labels: labelsOverride, className, classNames, }: DocumentsLibraryProps): react.JSX.Element | null;
735
735
 
736
+ type SortDirection = 'asc' | 'desc';
737
+ interface SortableHeadProps {
738
+ readonly label: string;
739
+ readonly field: string;
740
+ readonly activeField: string;
741
+ readonly direction: SortDirection;
742
+ readonly onSort: (field: string) => void;
743
+ readonly className?: string;
744
+ }
745
+ declare function SortableHead({ label, field, activeField, direction, onSort, className }: SortableHeadProps): react.JSX.Element;
746
+ interface FilterOption {
747
+ readonly value: string;
748
+ readonly label: string;
749
+ }
750
+ interface MultiSelectFilterProps {
751
+ readonly label: string;
752
+ readonly options: readonly FilterOption[];
753
+ readonly selected: readonly string[];
754
+ readonly onChange: (selected: readonly string[]) => void;
755
+ readonly className?: string;
756
+ }
757
+ declare function MultiSelectFilter({ label, options, selected, onChange, className }: MultiSelectFilterProps): react.JSX.Element;
758
+ interface BulkActionBarProps {
759
+ readonly selectedCount: number;
760
+ readonly selectedLabel: (count: number) => string;
761
+ readonly clearLabel: string;
762
+ readonly onClear: () => void;
763
+ readonly children?: ReactNode;
764
+ }
765
+ declare function BulkActionBar({ selectedCount, selectedLabel, clearLabel, onClear, children }: BulkActionBarProps): react.JSX.Element | null;
766
+ interface ListingPaginationProps {
767
+ readonly page: number;
768
+ readonly total: number;
769
+ readonly perPage: number;
770
+ readonly perPageOptions?: readonly number[];
771
+ readonly onPageChange: (page: number) => void;
772
+ readonly onPerPageChange?: (perPage: number) => void;
773
+ readonly labels: {
774
+ readonly show: string;
775
+ readonly perPage: string;
776
+ readonly total: (count: number) => string;
777
+ readonly page: (current: number, last: number) => string;
778
+ readonly previous: string;
779
+ readonly next: string;
780
+ };
781
+ }
782
+ declare function ListingPagination({ page, total, perPage, perPageOptions, onPageChange, onPerPageChange, labels, }: ListingPaginationProps): react.JSX.Element;
783
+
784
+ /**
785
+ * Vocabulário da biblioteca de arquivos. Sobrescrevível campo a campo: o produto troca "cliente"
786
+ * por "lead" ou o idioma inteiro sem manter uma cópia da tela para isso.
787
+ */
788
+ interface DocumentsWorkspaceLabels {
789
+ readonly title: string;
790
+ readonly subtitle: (total: number) => string;
791
+ readonly searchPlaceholder: string;
792
+ readonly empty: string;
793
+ readonly noResults: string;
794
+ readonly loading: string;
795
+ readonly failure: string;
796
+ readonly view: string;
797
+ readonly download: string;
798
+ readonly remove: string;
799
+ readonly removeConfirm: (filename: string) => string;
800
+ readonly openConversation: string;
801
+ readonly sourceFilter: string;
802
+ readonly categoryFilter: string;
803
+ readonly startDate: string;
804
+ readonly endDate: string;
805
+ readonly clearFilters: string;
806
+ readonly selectAllPage: string;
807
+ readonly selectRow: string;
808
+ readonly bulkSelected: (count: number) => string;
809
+ readonly bulkClear: string;
810
+ readonly bulkDownloadZip: string;
811
+ readonly bulkRemove: (count: number) => string;
812
+ readonly bulkRemoveConfirm: (count: number) => string;
813
+ readonly columnFilename: string;
814
+ readonly columnContact: string;
815
+ readonly columnType: string;
816
+ readonly columnSize: string;
817
+ readonly columnSource: string;
818
+ readonly columnDate: string;
819
+ readonly columnActions: string;
820
+ readonly sourceLabels: Readonly<Record<string, string>>;
821
+ readonly categoryLabels: Readonly<Record<string, string>>;
822
+ readonly show: string;
823
+ readonly perPage: string;
824
+ readonly total: (count: number) => string;
825
+ readonly page: (current: number, last: number) => string;
826
+ readonly previousPage: string;
827
+ readonly nextPage: string;
828
+ }
829
+ declare const DEFAULT_DOCUMENTS_WORKSPACE_LABELS: DocumentsWorkspaceLabels;
830
+
831
+ interface DocumentsWorkspaceClassNames {
832
+ root: string;
833
+ header: string;
834
+ filters: string;
835
+ table: string;
836
+ row: string;
837
+ status: string;
838
+ }
839
+ interface DocumentsWorkspaceProps {
840
+ readonly perPage?: number;
841
+ readonly perPageOptions?: readonly number[];
842
+ /** Abrir a conversa de origem. Ausente, o número aparece como texto e não como link. */
843
+ readonly onOpenConversation?: (conversationId: string) => void;
844
+ /** Origens filtráveis. Ausente, usa o vocabulário padrão (`customer`, `agent`, `bot`). */
845
+ readonly sources?: readonly FilterOption[];
846
+ /** Categorias de arquivo. Lista vazia esconde o filtro — nem todo host classifica anexo. */
847
+ readonly categories?: readonly FilterOption[];
848
+ /** Recorte por data. Desligado quando o backend não sabe filtrar por período. */
849
+ readonly dateFilter?: boolean;
850
+ /**
851
+ * Filtros do produto (cliente, unidade, campanha). Recebe os parâmetros extras atuais e devolve
852
+ * os controles; o que o produto guardar aqui viaja em `extra` para o `getAllDocuments`.
853
+ */
854
+ readonly renderFilters?: (context: DocumentsFiltersContext) => ReactNode;
855
+ readonly labels?: Partial<DocumentsWorkspaceLabels>;
856
+ readonly className?: string;
857
+ readonly classNames?: Partial<DocumentsWorkspaceClassNames>;
858
+ /** Espelhar filtros e paginação na URL. Desligado em preview, onde não há rota de verdade. */
859
+ readonly syncUrl?: boolean;
860
+ }
861
+ interface DocumentsFiltersContext {
862
+ readonly extra: Readonly<Record<string, string | number>>;
863
+ readonly setExtra: (next: Readonly<Record<string, string | number>>) => void;
864
+ }
865
+ declare function DocumentsWorkspace({ perPage: initialPerPage, perPageOptions, onOpenConversation, sources, categories, dateFilter, renderFilters, labels: labelsOverride, className, classNames, syncUrl, }: DocumentsWorkspaceProps): react.JSX.Element | null;
866
+
867
+ /**
868
+ * Estado de listagem espelhado na URL — ordenação, filtros e paginação (regra `web.md` §7).
869
+ *
870
+ * Escrito sobre `history.replaceState` e não sobre um router: o pacote roda em três produtos com
871
+ * routers diferentes, e exigir um deles arrastaria dependência de framework para dentro do módulo.
872
+ * `replaceState` também é o comportamento certo aqui — filtrar não é navegar, e cada tecla digitada
873
+ * na busca não deve virar uma entrada no botão "voltar".
874
+ */
875
+ /** `enabled: false` mantém o mesmo contrato de estado sem tocar na URL — para uso em preview e teste. */
876
+ interface UrlStateOptions {
877
+ readonly enabled?: boolean;
878
+ }
879
+ declare function useUrlStringState(key: string, initial: string, { enabled }?: UrlStateOptions): [string, (next: string) => void];
880
+ declare function useUrlNumberState(key: string, initial: number, { enabled }?: UrlStateOptions): [number, (next: number) => void];
881
+ declare function useUrlArrayState(key: string, { enabled }?: UrlStateOptions): [readonly string[], (next: readonly string[]) => void];
882
+ /**
883
+ * Espera o usuário parar de digitar antes de deixar o valor chegar à query. Sem isto, cada tecla
884
+ * na busca vira uma chamada de rede e uma reescrita de URL.
885
+ */
886
+ declare function useDebouncedValue<TValue>(value: TValue, delayMs?: number): TValue;
887
+
736
888
  /**
737
889
  * Arquivos trocados na conversa. Sai do transcript e vira lista própria porque anexo é o que o
738
890
  * atendente mais precisa reencontrar depois — rolar meses de mensagens para achar um comprovante é
@@ -1108,10 +1260,13 @@ interface WhatsAppTemplatesSettingsProps {
1108
1260
  onSubmit: (event: FormEvent) => void;
1109
1261
  submitting?: boolean;
1110
1262
  result?: WhatsAppCreateTemplateResult | null;
1263
+ labels?: Partial<WhatsAppCreateTemplateFormLabels>;
1111
1264
  };
1112
1265
  labels?: Partial<WhatsAppTemplatesSettingsLabels>;
1266
+ /** Vocabulário do formulário de seleção — separado de `labels`, que nomeia só as abas daqui. */
1267
+ settingsLabels?: Partial<WhatsAppTemplateSettingsFormLabels>;
1113
1268
  }
1114
- declare function WhatsAppTemplatesSettings({ labels: labelsOverride, create, ...settingsProps }: WhatsAppTemplatesSettingsProps): react.JSX.Element;
1269
+ declare function WhatsAppTemplatesSettings({ labels: labelsOverride, settingsLabels, create, ...settingsProps }: WhatsAppTemplatesSettingsProps): react.JSX.Element;
1115
1270
 
1116
1271
  interface TopicItem {
1117
1272
  key: string;
@@ -1137,6 +1292,67 @@ interface TopicsFormProps {
1137
1292
  }
1138
1293
  declare function TopicsForm({ topics, onToggle, onMessageChange, onSave, saving, saveSuccess, labels: labelsOverride, }: TopicsFormProps): react.JSX.Element;
1139
1294
 
1295
+ interface BotMessages {
1296
+ welcomeMessage: string;
1297
+ farewellMessage: string;
1298
+ }
1299
+ interface TemplateSettings {
1300
+ templateName: string;
1301
+ templateLanguage: string;
1302
+ variables: string[];
1303
+ }
1304
+ interface TranscriptionSettings {
1305
+ enabled: boolean;
1306
+ mode: TranscriptionMode;
1307
+ available: boolean;
1308
+ }
1309
+ interface MessagesWorkspaceApi {
1310
+ getMessages(): Promise<BotMessages>;
1311
+ saveMessages(messages: BotMessages): Promise<void>;
1312
+ /** Sem este par, a seção de tópicos não é desenhada. */
1313
+ getTopics?(): Promise<TopicItem[]>;
1314
+ saveTopics?(topics: TopicItem[]): Promise<void>;
1315
+ /** Sem este par, a aba de templates não é desenhada. */
1316
+ getTemplateSettings?(): Promise<TemplateSettings>;
1317
+ saveTemplateSettings?(settings: TemplateSettings): Promise<void>;
1318
+ /**
1319
+ * Lista de templates aprovados na Meta. Ausente, a aba ainda existe (dá para salvar o nome
1320
+ * escolhido), mas nasce sem opções e sem botão de recarregar.
1321
+ */
1322
+ listTemplates?(): Promise<WhatsAppTemplateSummary[]>;
1323
+ /** Sem isto, o submenu "Criar template" some. */
1324
+ createTemplate?(input: WhatsAppCreateTemplateState): Promise<WhatsAppCreateTemplateResult>;
1325
+ /** Sem este par, a aba de transcrição não é desenhada. */
1326
+ getTranscription?(): Promise<TranscriptionSettings>;
1327
+ saveTranscription?(settings: Omit<TranscriptionSettings, 'available'>): Promise<void>;
1328
+ }
1329
+ interface MessagesWorkspaceLabels {
1330
+ title: string;
1331
+ subtitle: string;
1332
+ loading: string;
1333
+ loadError: string;
1334
+ tabBot: string;
1335
+ tabTemplates: string;
1336
+ tabTranscription: string;
1337
+ welcomeFarewell: Partial<WelcomeFarewellFormLabels>;
1338
+ topics: Partial<TopicsFormLabels>;
1339
+ templates: Partial<WhatsAppTemplatesSettingsLabels>;
1340
+ templateSettings: Partial<WhatsAppTemplateSettingsFormLabels>;
1341
+ createTemplate: Partial<WhatsAppCreateTemplateFormLabels>;
1342
+ transcription: Partial<TranscriptionSettingsFormLabels>;
1343
+ }
1344
+ interface MessagesWorkspaceProps {
1345
+ readonly api: MessagesWorkspaceApi;
1346
+ readonly labels?: Partial<MessagesWorkspaceLabels>;
1347
+ readonly welcomePlaceholders?: readonly string[];
1348
+ readonly farewellPlaceholders?: readonly string[];
1349
+ readonly availableVariables?: WhatsAppTemplateVariableSuggestion[];
1350
+ /** Aviso do produto acima da aba de templates (ex.: rota da Graph API ainda não implementada). */
1351
+ readonly renderTemplatesNotice?: () => ReactNode;
1352
+ readonly className?: string;
1353
+ }
1354
+ declare function MessagesWorkspace({ api, labels: labelsOverride, welcomePlaceholders, farewellPlaceholders, availableVariables, renderTemplatesNotice, className, }: MessagesWorkspaceProps): react.JSX.Element;
1355
+
1140
1356
  interface UseConversationMessagesResult {
1141
1357
  messages: MessagePayload[];
1142
1358
  loading: boolean;
@@ -1529,4 +1745,4 @@ interface ConversationsInboxListProps {
1529
1745
  }
1530
1746
  declare function ConversationsInboxList({ inbox, labels, className, renderFilters, renderBulkActions, renderRow, onSendTemplateToSelected, }: ConversationsInboxListProps): react.JSX.Element;
1531
1747
 
1532
- export { type AsyncResourceState, AudioPlayer, type AudioPlayerProps, AudioTranscription, type AudioTranscriptionProps, Avatar, type AvatarLabels, type AvatarProps, type BuildTranscriptTextParams, CHANNEL_BRAND_COLOR, CONVERSATIONS_PER_PAGE, CONVERSATION_WINDOW, ChannelFilter, ChannelFilterOption, ChannelIcon, type ChannelIconProps, ConversationChannel, type ConversationContextEntry, ConversationContextPanel, type ConversationContextPanelClassNames, type ConversationContextPanelLabels, type ConversationContextPanelProps, type ConversationContextStatus, ConversationDocument, ConversationDocumentsPanel, type ConversationDocumentsPanelClassNames, type ConversationDocumentsPanelLabels, type ConversationDocumentsPanelProps, ConversationHeader, type ConversationHeaderClassNames, type ConversationHeaderLabels, type ConversationHeaderProps, type ConversationHeaderUtility, ConversationListItem, type ConversationListItemLabels, type ConversationListItemProps, type ConversationLocales, ConversationLocalesProvider, type ConversationLocalesProviderProps, ConversationPane, type ConversationPaneProps, type ConversationRealtimeHandler, ConversationRow, type ConversationRowClassNames, type ConversationRowProps, ConversationSummary, ConversationTemplate, ConversationWallpaper, type ConversationWallpaperProps, type ConversationWindow, ConversationsApi, ConversationsFeatures, ConversationsInboxList, type ConversationsInboxListProps, ConversationsProvider, ConversationsWorkspace, type ConversationsWorkspaceLabels, type ConversationsWorkspaceProps, type ConversationsWorkspaceSimulator, DEFAULT_ACCEPTED_FILE_TYPES, DEFAULT_AVATAR_LABELS, DEFAULT_CONVERSATIONS_WORKSPACE_LABELS, DEFAULT_CONVERSATION_CONTEXT_LABELS, DEFAULT_CONVERSATION_DOCUMENTS_LABELS, DEFAULT_CONVERSATION_HEADER_LABELS, DEFAULT_CONVERSATION_LIST_ITEM_LABELS, DEFAULT_DOCUMENTS_LIBRARY_LABELS, DEFAULT_EMOJI_PICKER_LABELS, DEFAULT_INTERACTIVE_MESSAGE_LABELS, DEFAULT_LIGHTBOX_LABELS, DEFAULT_MESSAGE_COMPOSER_LABELS, DEFAULT_RICH_COMPOSER_TOOLTIPS, DEFAULT_TEMPLATES_SETTINGS_LABELS, DEFAULT_WHATSAPP_MESSAGE_EDITOR_LABELS, DEFAULT_WINDOW_EXPIRED_LABELS, DOCUMENT_SOURCE_FILTER, DateDivider, type DateDividerClassNames, type DateDividerProps, type DocumentSourceFilter, DocumentsLibrary, type DocumentsLibraryClassNames, type DocumentsLibraryLabels, type DocumentsLibraryProps, EMOJI_CATEGORIES, type EmojiCategory, type EmojiEntry, EmojiPicker, type EmojiPickerLabels, type EmojiPickerProps, FileIcon, type FileIconProps, InteractiveMessage, type InteractiveMessageLabels, type InteractiveMessageProps, InteractivePayload, InteractiveSelection, Lightbox, type LightboxLabels, type LightboxProps, ListConversationsParams, ListDocumentsParams, MessageBubble, type MessageBubbleProps, MessageComposer, type MessageComposerClassNames, type MessageComposerLabels, type MessageComposerProps, MessagePayload, MessageTail, MessageText, type MessageTextProps, MessageTimestamp, MessageTranscription, NARROW_MAX_WIDTH_PX, type QuickReply, RICH_COMPOSER_ACTION, ResolveMediaUrl, type RichComposerAction, type RichComposerQuickReply, type RichComposerTooltips, type RichComposerVariable, RichMessageComposer, type RichMessageComposerHandle, type RichMessageComposerProps, SSEProvider, SimpleEmojiPicker, type SimpleEmojiPickerProps, StatusTicks, type StatusTicksProps, TEMPLATE_SETTINGS_TAB, type TemplateSettingsTab, ToastProvider, type TopicItem, TopicsForm, type TopicsFormLabels, type TopicsFormProps, TranscriptionMode, TranscriptionSettingsForm, type TranscriptionSettingsFormLabels, type TranscriptionSettingsFormProps, type UseConversationActionsResult, type UseConversationContextResult, type UseConversationDocumentsParams, type UseConversationDocumentsResult, type UseConversationListParams, type UseConversationListResult, type UseConversationMessagesResult, type UseConversationsInboxParams, type UseConversationsInboxResult, type UseInboxActionsResult, type UseScrollToLatestMessageParams, type UseScrollToLatestMessageResult, type UseWaitingNotificationsLabels, type UseWaitingNotificationsParams, type UseWaitingNotificationsResult, WINDOW_FILTERS, WelcomeFarewellForm, type WelcomeFarewellFormLabels, type WelcomeFarewellFormProps, WhatsAppCreateTemplateForm, type WhatsAppCreateTemplateFormLabels, type WhatsAppCreateTemplateFormProps, type WhatsAppCreateTemplateResult, type WhatsAppCreateTemplateState, WhatsAppMessageEditor, type WhatsAppMessageEditorLabels, type WhatsAppMessageEditorProps, type WhatsAppTemplateHeaderType, WhatsAppTemplateSettingsForm, type WhatsAppTemplateSettingsFormLabels, type WhatsAppTemplateSettingsFormProps, type WhatsAppTemplateSummary, type WhatsAppTemplateVariableSuggestion, WhatsAppTemplatesSettings, type WhatsAppTemplatesSettingsLabels, type WhatsAppTemplatesSettingsProps, WindowExpiredNotice, type WindowExpiredNoticeLabels, type WindowExpiredNoticeProps, type WindowOfParams, applyQuickReplyVariables, buildTranscriptFilename, buildTranscriptText, createMediaUrlResolver, downloadTextFile, formatDateTime, formatFileSize, formatPhone, formatStalledFor, formatTimestamp, htmlToWA, isSameDay, isWindowBlocking, parseWhatsAppFormatting, phoneInitials, resolveQuickReply, searchEmojis, toast, useConversationActions, useConversationContext, useConversationDocuments, useConversationList, useConversationLocales, useConversationMessages, useConversationRealtime, useConversations, useConversationsInbox, useDarkMode, useGlobalRealtime, useInboxActions, useIsDarkTheme, useIsNarrow, useScrollToLatestMessage, useToast, useWaitingNotifications, waToHTML, waToHTMLInline, windowOf };
1748
+ export { type AsyncResourceState, AudioPlayer, type AudioPlayerProps, AudioTranscription, type AudioTranscriptionProps, Avatar, type AvatarLabels, type AvatarProps, type BotMessages, type BuildTranscriptTextParams, BulkActionBar, type BulkActionBarProps, CHANNEL_BRAND_COLOR, CONVERSATIONS_PER_PAGE, CONVERSATION_WINDOW, ChannelFilter, ChannelFilterOption, ChannelIcon, type ChannelIconProps, ConversationChannel, type ConversationContextEntry, ConversationContextPanel, type ConversationContextPanelClassNames, type ConversationContextPanelLabels, type ConversationContextPanelProps, type ConversationContextStatus, ConversationDocument, ConversationDocumentsPanel, type ConversationDocumentsPanelClassNames, type ConversationDocumentsPanelLabels, type ConversationDocumentsPanelProps, ConversationHeader, type ConversationHeaderClassNames, type ConversationHeaderLabels, type ConversationHeaderProps, type ConversationHeaderUtility, ConversationListItem, type ConversationListItemLabels, type ConversationListItemProps, type ConversationLocales, ConversationLocalesProvider, type ConversationLocalesProviderProps, ConversationPane, type ConversationPaneProps, type ConversationRealtimeHandler, ConversationRow, type ConversationRowClassNames, type ConversationRowProps, ConversationSummary, ConversationTemplate, ConversationWallpaper, type ConversationWallpaperProps, type ConversationWindow, ConversationsApi, ConversationsFeatures, ConversationsInboxList, type ConversationsInboxListProps, ConversationsProvider, ConversationsWorkspace, type ConversationsWorkspaceLabels, type ConversationsWorkspaceProps, type ConversationsWorkspaceSimulator, DEFAULT_ACCEPTED_FILE_TYPES, DEFAULT_AVATAR_LABELS, DEFAULT_CONVERSATIONS_WORKSPACE_LABELS, DEFAULT_CONVERSATION_CONTEXT_LABELS, DEFAULT_CONVERSATION_DOCUMENTS_LABELS, DEFAULT_CONVERSATION_HEADER_LABELS, DEFAULT_CONVERSATION_LIST_ITEM_LABELS, DEFAULT_DOCUMENTS_LIBRARY_LABELS, DEFAULT_DOCUMENTS_WORKSPACE_LABELS, DEFAULT_EMOJI_PICKER_LABELS, DEFAULT_INTERACTIVE_MESSAGE_LABELS, DEFAULT_LIGHTBOX_LABELS, DEFAULT_MESSAGE_COMPOSER_LABELS, DEFAULT_RICH_COMPOSER_TOOLTIPS, DEFAULT_TEMPLATES_SETTINGS_LABELS, DEFAULT_WHATSAPP_MESSAGE_EDITOR_LABELS, DEFAULT_WINDOW_EXPIRED_LABELS, DOCUMENT_SOURCE_FILTER, DateDivider, type DateDividerClassNames, type DateDividerProps, type DocumentSourceFilter, type DocumentsFiltersContext, DocumentsLibrary, type DocumentsLibraryClassNames, type DocumentsLibraryLabels, type DocumentsLibraryProps, DocumentsWorkspace, type DocumentsWorkspaceClassNames, type DocumentsWorkspaceLabels, type DocumentsWorkspaceProps, EMOJI_CATEGORIES, type EmojiCategory, type EmojiEntry, EmojiPicker, type EmojiPickerLabels, type EmojiPickerProps, FileIcon, type FileIconProps, type FilterOption, InteractiveMessage, type InteractiveMessageLabels, type InteractiveMessageProps, InteractivePayload, InteractiveSelection, Lightbox, type LightboxLabels, type LightboxProps, ListConversationsParams, ListDocumentsParams, ListingPagination, type ListingPaginationProps, MessageBubble, type MessageBubbleProps, MessageComposer, type MessageComposerClassNames, type MessageComposerLabels, type MessageComposerProps, MessagePayload, MessageTail, MessageText, type MessageTextProps, MessageTimestamp, MessageTranscription, MessagesWorkspace, type MessagesWorkspaceApi, type MessagesWorkspaceLabels, type MessagesWorkspaceProps, MultiSelectFilter, type MultiSelectFilterProps, NARROW_MAX_WIDTH_PX, type QuickReply, RICH_COMPOSER_ACTION, ResolveMediaUrl, type RichComposerAction, type RichComposerQuickReply, type RichComposerTooltips, type RichComposerVariable, RichMessageComposer, type RichMessageComposerHandle, type RichMessageComposerProps, SSEProvider, SimpleEmojiPicker, type SimpleEmojiPickerProps, type SortDirection, SortableHead, type SortableHeadProps, StatusTicks, type StatusTicksProps, TEMPLATE_SETTINGS_TAB, type TemplateSettings, type TemplateSettingsTab, ToastProvider, type TopicItem, TopicsForm, type TopicsFormLabels, type TopicsFormProps, TranscriptionMode, type TranscriptionSettings, TranscriptionSettingsForm, type TranscriptionSettingsFormLabels, type TranscriptionSettingsFormProps, type UrlStateOptions, type UseConversationActionsResult, type UseConversationContextResult, type UseConversationDocumentsParams, type UseConversationDocumentsResult, type UseConversationListParams, type UseConversationListResult, type UseConversationMessagesResult, type UseConversationsInboxParams, type UseConversationsInboxResult, type UseInboxActionsResult, type UseScrollToLatestMessageParams, type UseScrollToLatestMessageResult, type UseWaitingNotificationsLabels, type UseWaitingNotificationsParams, type UseWaitingNotificationsResult, WINDOW_FILTERS, WelcomeFarewellForm, type WelcomeFarewellFormLabels, type WelcomeFarewellFormProps, WhatsAppCreateTemplateForm, type WhatsAppCreateTemplateFormLabels, type WhatsAppCreateTemplateFormProps, type WhatsAppCreateTemplateResult, type WhatsAppCreateTemplateState, WhatsAppMessageEditor, type WhatsAppMessageEditorLabels, type WhatsAppMessageEditorProps, type WhatsAppTemplateHeaderType, WhatsAppTemplateSettingsForm, type WhatsAppTemplateSettingsFormLabels, type WhatsAppTemplateSettingsFormProps, type WhatsAppTemplateSummary, type WhatsAppTemplateVariableSuggestion, WhatsAppTemplatesSettings, type WhatsAppTemplatesSettingsLabels, type WhatsAppTemplatesSettingsProps, WindowExpiredNotice, type WindowExpiredNoticeLabels, type WindowExpiredNoticeProps, type WindowOfParams, applyQuickReplyVariables, buildTranscriptFilename, buildTranscriptText, createMediaUrlResolver, downloadTextFile, formatDateTime, formatFileSize, formatPhone, formatStalledFor, formatTimestamp, htmlToWA, isSameDay, isWindowBlocking, parseWhatsAppFormatting, phoneInitials, resolveQuickReply, searchEmojis, toast, useConversationActions, useConversationContext, useConversationDocuments, useConversationList, useConversationLocales, useConversationMessages, useConversationRealtime, useConversations, useConversationsInbox, useDarkMode, useDebouncedValue, useGlobalRealtime, useInboxActions, useIsDarkTheme, useIsNarrow, useScrollToLatestMessage, useToast, useUrlArrayState, useUrlNumberState, useUrlStringState, useWaitingNotifications, waToHTML, waToHTMLInline, windowOf };