UNPKG

@microsoft/omnichannel-chat-sdk

Version:
52 lines (51 loc) 2.37 kB
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<void>; stopPolling(): Promise<void>; initialize(sessionInfo: ACSSessionInfo): Promise<void>; getMessages(optionsParams?: ACSGetMessagesOptionalParams): Promise<OmnichannelMessage[] | ChatMessage[]>; getParticipants(): Promise<ChatParticipant[]>; registerOnNewMessage(onNewMessageCallback: CallableFunction, optionalParams?: ACSRegisterOnNewMessageOptionalParams): Promise<void>; registerOnThreadUpdate(onThreadUpdateCallback: CallableFunction): Promise<void>; onTypingEvent(onTypingEventCallback: CallableFunction): Promise<void>; sendMessage(message: ChatSDKMessage): Promise<OmnichannelMessage>; sendTyping(): Promise<void>; sendFileMessage(): Promise<void>; sendFileData(): Promise<void>; uploadFile(): Promise<void>; downloadFile(): Promise<void>; disconnect(): Promise<void>; private createParticipantsMapping; private trackListener; } declare class ACSClient { private logger; private tokenCredential; private chatClient; constructor(logger?: ACSClientLogger | null); initialize(acsClientConfig: ACSClientConfig): Promise<void>; joinConversation(sessionInfo: ACSSessionInfo): Promise<ACSConversation>; getChatClient(): ChatClient | null; } export default ACSClient;