UNPKG

msg91-webrtc-call

Version:

**msg91-webrtc-call** is a lightweight JavaScript SDK that enables you to easily add peer-to-peer WebRTC audio/video calling functionality to your web applications using the MSG91 infrastructure.

81 lines (80 loc) 2.89 kB
import { User } from "./type/user"; import { CALL_EVENT, WebRTC_EVENT, MessageArray, CALL_STATUS, CallData, CallInfo, AnsweredPayload, UnavailablePayload, RejoinedPayload, EndedPayload, MessagePayload, SilenceStatePayload, ConnectedPayload, UnmutePayload, MutePayload, ErrorPayload, WebRTCEventMap, CallEventMap } from "./type/call"; import { EventEmitter } from "./util/event-emitter"; declare class WebRTC extends EventEmitter { private user; private callId; private status; private userToken; private callToken?; private callManager; constructor(userToken: string); on<K extends WebRTC_EVENT>(event: K, listener: WebRTCEventMap[K]): { remove: () => void; }; close(): void; call(callToken: string): Promise<void>; rejoinCall(callId: string): Promise<void>; sendUserContext(data: { context?: any; message?: any; }): Promise<void>; /** * * @param status Set global silence for incoming calls */ silence(status?: boolean): void; } declare class Call extends EventEmitter { protected user: User; protected id: string; protected existingCall: boolean; private from; private to; private producerTransport; private consumerTransport; private producer; private routerRtpCapabilities; private type; private device; protected userToken: string; private status; private mediaStream; private audioTrack; private rtlayerEvents; constructor(user: User, userToken: string, data: CallData); on<K extends CALL_EVENT>(event: K, listener: CallEventMap[K]): { remove: () => void; }; protected addEvent(callback: Function): void; protected setStatus(status: CALL_STATUS): Promise<void>; getStatus(): CALL_STATUS; getMediaStream(): MediaStream; protected isExistingCall(): boolean; mute(): void; unmute(): void; hang(data?: any): void; getInfo(): CallInfo; protected setupCall(): Promise<void>; } declare class IncomingCall extends Call { private isUnavailable; private isSilent; constructor(user: User, userToken: string, data: CallData); private rejoin; accept(): void; silence(status?: boolean): void; getInfo(): CallInfo; reject(): void; } declare class OutgoingCall extends Call { constructor(user: User, userToken: string, data: CallData); private rejoin; cancel(): void; sendMessage(message: MessageArray, isContext: boolean): Promise<void>; } declare const _default: (userToken: string, env?: "dev" | "test" | "prod") => WebRTC | undefined; export default _default; export { CALL_EVENT, WebRTC_EVENT }; export type { IncomingCall, OutgoingCall }; export type { AnsweredPayload, UnavailablePayload, ConnectedPayload, RejoinedPayload, EndedPayload, MessagePayload, SilenceStatePayload, MutePayload, UnmutePayload, ErrorPayload };