@microsoft/omnichannel-chat-sdk
Version:
Microsoft Omnichannel Chat SDK
52 lines (51 loc) • 2.37 kB
TypeScript
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;