import { Client } from "@twilio/conversations"; import { FileAttachmentConfig } from "./fileAttachmentHelpers"; import { TransferWithNotes } from "./state/ConversationState"; interface ContentTemplate { enabled: boolean; } interface ChannelConfig { fileAttachment?: FileAttachmentConfig; contentTemplates?: ContentTemplate; } interface ChatManagerConfig { useMessageInputV2: boolean; showEmailRecipientChangeConfirmationDialog: boolean; enableContentTemplateBrowser: boolean; disableTextAndAttachmentSendingRestriction: boolean; } type ChannelConfigFromConversationSidFunction = (conversationSid: string) => ChannelConfig; type IsCBMFromConversationSidFunction = (conversationSid: string) => boolean; type GetTransfersFromConversationSidFunction = (conversationSid: string) => Promise; type getDisplayNameFromConversationSidFunction = (conversationSid: string) => string | undefined; type GetInteractionChannelTypeByConversationSidFunction = (conversationSid: string) => string | undefined; export declare class ChatManager { private static isReady; static initialize(initial: { channelConfigCallback: ChannelConfigFromConversationSidFunction; isCBMCallback: IsCBMFromConversationSidFunction; getTransfersFromConversationSidCallback: GetTransfersFromConversationSidFunction; getInteractionChannelTypeByConversationSidCallback: GetInteractionChannelTypeByConversationSidFunction; getDisplayNameCallback: getDisplayNameFromConversationSidFunction; initialChatManagerConfig: ChatManagerConfig; initialConversationClient: Client | undefined; disableOrganicMessageSorting?: boolean; useLegacyUnloadConversationChecks?: boolean; multiTabSupport?: boolean; showCustomerLeft?: boolean; }): void; private static waitForChatManagerToInitialize; private static getChannelConfigFromConversationSid; static getFileAttachmentConfigFromConversationSid(conversationSid: string): FileAttachmentConfig; static isCBM(conversationSid: string): boolean; static getDisplayNameFromConversationSid(conversationSid: string): string | undefined; static shouldUseMessageInputV2(): boolean; static showEmailRecipientChangeConfirmationDialog(): boolean; static isOrganicMessageSortingDisabled(): boolean; static shouldUseLegacyUnloadConversationChecks(): boolean; static getConversationsClient(): Client; static isMultiTabSupportEnabled(): boolean; static getShowCustomerLeft(): boolean; static getTransfers(conversationSid: string): Promise; static enableContentTemplateBrowser(): boolean; static getContentTemplatesConfigFromConversationSid(conversationSid: string): ContentTemplate; static getInteractionChannelTypeByConversationSid(conversationSid: string): string; static disableTextAndAttachmentSendingRestriction(): boolean; static destroy(): void; } export {};