@cometchat/calls-sdk-javascript
Version:
Cometchat's Javascript SDK for In-app Calling.
181 lines (180 loc) • 6.53 kB
TypeScript
import { CallSettings, CallSettingsBuilder, MainVideoContainerSetting } from "./CallSettings";
import { CallAppSettings, CallAppSettingsBuilder } from "./CallsAppSettings";
import { OngoingCallListener } from "./Listener";
import { CallConstants } from "../constants";
import { PresenterSettings, PresenterSettingsBuilder } from "./PresenterSettings";
import { ListenerHandlers } from "./ListnerHandler";
import { CallLog } from './CallLog';
import { CallLogRequestBuilder } from './CometChatCallLogs';
import { CallUser } from "./CallUser";
import { CallGroup } from "./CallGroup";
import { Participant } from './Participant';
import { Recording } from './Recording';
export declare class CometChatCalls {
private static appSettings;
private static inProgress;
private static callEventListener;
private static debounceDeviceChange;
private static deviceList;
static CALL_MODE: {
readonly DEFAULT: "DEFAULT";
readonly SPOTLIGHT: "SPOTLIGHT";
readonly GRID: "TILE";
};
/**
* Alias to CometChatCalls.CALL_MODE
*/
static MODE: {
readonly DEFAULT: "DEFAULT";
readonly SPOTLIGHT: "SPOTLIGHT";
readonly GRID: "TILE";
};
static addCallEventListener: typeof ListenerHandlers.addCallEventListener;
static removeCallEventListener: typeof ListenerHandlers.removeCallEventListener;
static OngoingCallListener: typeof OngoingCallListener;
static CallSettingsBuilder: typeof CallSettingsBuilder;
static CallSettings: typeof CallSettings;
static PresenterSettingsBuilder: typeof PresenterSettingsBuilder;
static PresenterSettings: typeof PresenterSettings;
static CallAppSettingsBuilder: typeof CallAppSettingsBuilder;
static CallAppSettings: typeof CallAppSettings;
static MainVideoContainerSetting: typeof MainVideoContainerSetting;
static CallLogRequestBuilder: typeof CallLogRequestBuilder;
static CallLog: typeof CallLog;
static CallUser: typeof CallUser;
static CallGroup: typeof CallGroup;
static Participant: typeof Participant;
static Recording: typeof Recording;
private static isPresenterMode;
static joinPresentation(callToken: string, presenterSettings: PresenterSettings, htmlElement: HTMLElement): Promise<void>;
static startSession(callToken: string, callSettings: CallSettings, htmlElement: HTMLElement): Promise<void>;
private static startSessionCore;
private static startTheSession;
static generateToken(sessionID: string, authToken: string): Promise<{
token: string;
}>;
static init(appSettings: CallAppSettings): Promise<void>;
private static getRef;
/**
* Method to pause/unpause video stream.
* @param {boolean} pauseVideo Defaults to true
* @returns {void}
*/
static pauseVideo(pauseVideo?: boolean): void;
/**
* Method to resume video stream. Alias to resumeVideo.
* @returns {void}
*/
static unPauseVideo(): void;
/**
* Method to resume video stream.
* @returns {void}
*/
static resumeVideo(): void;
/**
* Method to set mode.
* @param mode
* @returns {void}
*/
static setMode(mode: (typeof CallConstants.MODE)[keyof typeof CallConstants.MODE]): void;
/**
* Method to mute/unmute audio stream.
* @param {boolean} muteAudio Defaults to true
* @returns {void}
*/
static muteAudio(muteAudio?: boolean): void;
/**
* Method to unmute audio stream.
* @returns {void}
*/
static unMuteAudio(): void;
/**
* Method to start screen share.
* @returns {void}
*/
static startScreenShare(): void;
/**
* Method to stop screen share.
* @returns {void}
*/
static stopScreenShare(): void;
static endSession(): void;
/**
* Method to start call recording.
* @returns {void}
*/
static startRecording(): void;
/**
* Method to stop call recording.
* @returns {void}
*/
static stopRecording(): void;
/**
* Method to switch an audio call to video call.
* @returns {void}
*/
static switchToVideoCall(): void;
/**
* Method to open the virtual background settings.
* @returns {void}
*/
static openVirtualBackground(): void;
/**
* Method to close the virtual background settings.
* @returns {void}
*/
static closeVirtualBackground(): void;
/**
* Method to set the background blur. This method takes number as input which decides the blur level of the background.
* @param {number} blurLevel The blur level of the background
* @returns {void}
*/
static setBackgroundBlur(blurLevel: number): void;
/**
* Method to set the background image. This method takes either a URL or file Object & sets that image as the background.
* @param image image URL or file Object
* @returns {void}
*/
static setBackgroundImage(image: string | Blob | Object): void;
/**
* Method to get all the available audio input devices.
* @returns {MediaDeviceInfo[]}
*/
static getAudioInputDevices(): MediaDeviceInfo[];
/**
* Method to get all the available audio output devices.
* @returns {MediaDeviceInfo[]}
*/
static getAudioOutputDevices(): MediaDeviceInfo[];
/**
* Method to get all the available video input devices.
* @returns {MediaDeviceInfo[]}
*/
static getVideoInputDevices(): MediaDeviceInfo[];
/**
* Method to change the audio input device.
* @param {string} deviceId
* @returns {void}
*/
static setAudioInputDevice(deviceId: string): void;
/**
* Method to change the audio output device.
* @param {string} deviceId
* @returns {void}
*/
static setAudioOutputDevice(deviceId: string): void;
/**
* Method to change the video input device.
* @param {string} deviceId
* @returns {void}
*/
static setVideoInputDevice(deviceId: string): void;
/**
* Retrieves call details for a given session ID and auth token.
* @param sessionID - The session ID of the call.
* @param authToken - The authentication token required to make the API call.
* @returns A Promise that resolves to a CallLog object containing the call details.
* @throws {CometChatCallsException} If there is an error retrieving the call details.
*/
static getCallDetails(sessionID: string, authToken: string): Promise<Array<CallLog>>;
}