import ACSClientConfig from "./ACSClientConfig"; import { ACSClientLogger } from "../../utils/loggers"; import ACSSessionInfo from "./ACSSessionInfo"; import { ChatClient, ChatParticipant } from "@azure/communication-chat"; import { AzureCommunicationTokenCredential } from "@azure/communication-common"; 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; constructor(tokenCredential: AzureCommunicationTokenCredential, chatClient: ChatClient, logger?: ACSClientLogger | null); initialize(sessionInfo: ACSSessionInfo): Promise; getMessages(): Promise; getParticipants(): Promise; registerOnNewMessage(onNewMessageCallback: CallableFunction): 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; } declare class ACSClient { private logger; private tokenCredential; private chatClient; constructor(logger?: ACSClientLogger | null); initialize(acsClientConfig: ACSClientConfig): Promise; joinConversation(sessionInfo: ACSSessionInfo): Promise; } export default ACSClient;