@cometchat/calls-sdk-javascript
Version:
Cometchat's Javascript SDK for In-app Calling.
89 lines (88 loc) • 2.42 kB
TypeScript
import { AnyProperties } from "./common";
export type CallingEventsInternal = "initialDeviceList" | "onDeviceChange" | "onUserJoined" | "onUserLeft" | "onUserListChanged" | "SCREEN_SHARE_STARTED" | "SCREEN_SHARE_ENDED" | "SCREEN_SHARE_ENDED" | "hangup" | "onCallSwitchedToVideo" | "onRecordingToggled" | "onCallEndButtonPressed" | "onUserMuted" | "onUserUnMuted";
interface IAVDevice {
deviceId: string;
kind: string;
label: string;
groupId: string;
}
interface IUserWithExtraData {
name: string;
avatar: string;
status: string;
isVideoMuted: string;
isAudioMuted: string;
showVideo: string;
isLocalUser: string;
audioTrack: string;
id: string;
uid: string;
joinedAt: string;
videoTrack: string;
stats: string;
}
interface User extends AnyProperties {
name: string;
avatar: string;
uid: string;
}
export interface ICallEventsData {
onUserJoined: User;
onUserLeft: User;
onUserUnMuted: User;
onUserMuted: {
muted: {
name: string;
avatar?: string;
isVideoMuted: boolean;
isAudioMuted: boolean;
uid: string;
joinedAt: string;
};
mutedBy: {
name: string;
avatar?: string;
isAudioMuted: boolean;
isVideoMuted: boolean;
uid: string;
joinedAt: string;
};
};
onUserListUpdated: Array<User>;
onScreenShareStarted: {};
onScreenShareStopped: {};
onRecordingStarted: {
recordingStarted: true;
user: Partial<IUserWithExtraData>;
};
onRecordingStopped: {
recordingStarted: false;
user: Partial<IUserWithExtraData>;
};
onMediaDeviceListUpdated: {
videoInputDevices: IAVDevice[];
audioInputDevices: IAVDevice[];
audioOutputDevices: IAVDevice[];
};
onCallEnded: {};
onCallSwitchedToVideo: {
sessionId: string;
initiator: {
name: string;
avatar?: string;
isVideoMuted: boolean;
isAudioMuted: boolean;
uid: string;
joinedAt: string;
};
responder: {
name: string;
avatar?: string;
isVideoMuted: boolean;
isAudioMuted: boolean;
uid: string;
joinedAt: string;
};
};
}
export {};