import { AzureCommunicationTokenCredential } from "@azure/communication-common"; import { ChatClient, ChatMessage, ChatParticipant } from "@azure/communication-chat"; import ACSClientConfig from "./ACSClientConfig"; import { ACSClientLogger } from "../../utils/loggers"; import ACSGetMessagesOptionalParams from "./ACSClientGetMessagesOptionParams"; import ACSRegisterOnNewMessageOptionalParams from "./ACSRegisterOnNewMessageOptionalParams"; import ACSSessionInfo from "./ACSSessionInfo"; import ChatSDKMessage from "./ChatSDKMessage"; import OmnichannelMessage from "./OmnichannelMessage"; export interface ParticipantMapping { [key: string]: ChatParticipant; } export declare class ACSConversation { private logger; private tokenCredential; private chatClient; private chatThreadClient?; private sessionInfo?; private participantsMapping?; private eventListeners; private keepPolling; private pollingTimer; constructor(tokenCredential: AzureCommunicationTokenCredential, chatClient: ChatClient, logger?: ACSClientLogger | null); startPolling(): Promise; stopPolling(): Promise; initialize(sessionInfo: ACSSessionInfo): Promise; getMessages(optionsParams?: ACSGetMessagesOptionalParams): Promise; getParticipants(): Promise; registerOnNewMessage(onNewMessageCallback: CallableFunction, optionalParams?: ACSRegisterOnNewMessageOptionalParams): Promise; registerOnThreadUpdate(onThreadUpdateCallback: CallableFunction): Promise; onTypingEvent(onTypingEventCallback: CallableFunction): Promise; sendMessage(message: ChatSDKMessage): Promise; sendTyping(): Promise; sendFileMessage(): Promise; sendFileData(): Promise; uploadFile(): Promise; downloadFile(): Promise; disconnect(): Promise; private createParticipantsMapping; private trackListener; addListener(event: string, listener: CallableFunction): void; removeListener(event: string, listener: CallableFunction): void; } declare class ACSClient { private logger; private tokenCredential; private chatClient; constructor(logger?: ACSClientLogger | null); initialize(acsClientConfig: ACSClientConfig): Promise; joinConversation(sessionInfo: ACSSessionInfo): Promise; getChatClient(): ChatClient | null; } export default ACSClient;