import { AnyProperties } from "./common"; export type CallingEventsInternal = "initialDeviceList" | "onDeviceChange" | "onUserJoined" | "onUserLeft" | "onUserListChanged" | "SCREEN_SHARE_STARTED" | "SCREEN_SHARE_ENDED" | "SCREEN_SHARE_ENDED" | "hangup" | "onSessionTimeout" | "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; onScreenShareStarted: {}; onScreenShareStopped: {}; onRecordingStarted: { user: Pick; }; onMediaDeviceListUpdated: { videoInputDevices: IAVDevice[]; audioInputDevices: IAVDevice[]; audioOutputDevices: IAVDevice[]; }; onCallEnded: {}; onSessionTimeout: {}; 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 {};