/// import { ApplicationCall } from "../ApplicationCall"; import { CameraOrientation } from "../options/CameraOrientation"; import { CallStatus } from "../CallStatus"; import { EventEmitter } from "events"; import { InfobipGateway } from "../../gateway/InfobipGateway"; import { Logger } from "../../log/Logger"; import { Device } from "../../device/Device"; import MonitoredPeerConnection from "../../log/monitor/MonitoredPeerConnection"; import LocalMedia from "../../util/LocalMedia"; import { EmptyAudioStream } from "./EmptyAudioStream"; import { VideoFilter } from "../options/filters/video/VideoFilter"; import { AudioFilter } from "../options/filters/audio/AudioFilter"; import { CustomData } from "../CustomDataType"; import { AnyCallsApiEvent } from "../event/CallsApiEvents"; import { CallsEventHandlers } from "../event/CallsEventHandlers"; import { ApplicationCallOptions } from "../options/ApplicationCallOptions"; import { LocalCapturer } from "../LocalCapturer"; import { ServerCapturer } from "../ServerCapturer"; import { TotalMediaStats } from "../stats/TotalMediaStats"; import { DataChannel } from "../DataChannel"; import { AudioQualityMode } from "../options/AudioQualityMode"; import { DisplayOptions } from "../options/DisplayOptions"; import { RecordingState } from "../RecordingState"; import { ManagedEventEmitter } from "../../util/ManagedEventEmitter"; import { ErrorCode } from '../event/ErrorCode'; export declare abstract class DefaultApplicationCall implements ApplicationCall { protected gateway: InfobipGateway; protected logger: Logger; protected rtcConfig: any; private device; protected _callsConfigurationId: string; protected applicationCallOptions: ApplicationCallOptions; currentUserIdentity: string; private token; private apiUrl; protected callId: string; protected conferenceId: string; protected dialogId: string; protected audioPC: MonitoredPeerConnection; protected localAudio: LocalMedia; protected emptyAudioStream: EmptyAudioStream; protected localCameraVideo: LocalMedia; protected localAudioStream?: MediaStream; protected callStatus: CallStatus; protected defaultLocalCaputuer: LocalCapturer; protected defaultServerCapturer: ServerCapturer; protected eventEmitter: ManagedEventEmitter; private videoPublisherPC; private videoSubscriberPC; private localScreenShare; private remoteAudioStream?; private localCameraVideoStream?; private localScreenShareStream?; private hasRemoteDescription; private mediaUpdateStatus; private remoteCandidates; private apiEventEmitter; private isEarlyMedia; private callStartTime; private callEstablishTime; private callEndTime; private joinedConference; private joinedDialog; private participants; private remoteVideos; private videoFilterManager; private audioFilterManager; private networkQualityMonitor; private _dataChannel; private reconnecting; private _audioQualityMode; private _recordingState; private cameraVideoRemovalReason; private screenShareRemovalReason; private cameraVideoEncodings; private updateCameraStreamLock; private audioStreamEnergyMonitor; protected constructor(eventEmitter: EventEmitter, gateway: InfobipGateway, logger: Logger, rtcConfig: any, device: Device, _callsConfigurationId: string, applicationCallOptions: ApplicationCallOptions, currentUserIdentity: string, token: string, apiUrl: string, callId?: string); on(name: AnyCallsApiEvent, handler: CallsEventHandlers.Any): void; id(): string; options(): ApplicationCallOptions; customData(): CustomData; callsConfigurationId(): string; duration(): number; endTime(): Date; establishTime(): Date; hangup(): void; startTime(): Date; status(): CallStatus; mute(shouldMute: boolean): Promise; muted(): boolean; sendDTMF(dtmf: string): Promise; pauseIncomingVideo(): void; resumeIncomingVideo(): void; setAudioInputDevice(deviceId: string): Promise; audioFilter(): AudioFilter; setAudioFilter(audioFilter: AudioFilter): Promise; clearAudioFilter(): Promise; videoFilter(): VideoFilter; setVideoFilter(videoFilter: VideoFilter): Promise; clearVideoFilter(): Promise; setVideoInputDevice(deviceId: string): Promise; cameraOrientation(): CameraOrientation; setCameraOrientation(cameraOrientation: CameraOrientation): Promise; localCapturer(): LocalCapturer; serverCapturer(): ServerCapturer; dataChannel(): DataChannel; setAudioQualityMode(audioQualityMode: AudioQualityMode): void; audioQualityMode(): AudioQualityMode; hasCameraVideo(): boolean; hasScreenShare(): boolean; stopVideo(): Promise; cameraVideo(localVideo: boolean): Promise; screenShare(screenShare: boolean): Promise; startScreenShare(displayOptions?: DisplayOptions): Promise; stopScreenShare(): Promise; recordingState(): RecordingState; protected createDataChannel(): void; protected createAudioPeerConnection(): void; protected setLocalAudioStream(audioStream: MediaStream): void; protected setLocalVideoStream(videoStream: MediaStream): Promise; protected createAudioTransceiver(): void; protected setLocalDescription(pc: RTCPeerConnection, localDescription: RTCSessionDescriptionInit): Promise; protected abstract negotiateAudio(options: ApplicationCallOptions): Promise; protected setRemoteCandidates(): void; protected addCameraVideo(): Promise; protected addScreenShareVideo(displayOptions?: DisplayOptions): Promise; protected handleCallFlowError(error: string, sendHangup?: boolean): void; protected validateMediaUpdateStatus(): void; protected getLocalMediaStream(audio: boolean, video: boolean, cameraOrientation?: CameraOrientation, cameraVideoFrameRate?: number): Promise; protected isFinished(): boolean; protected stopAllTracks(mediaStream: MediaStream): void; protected createAudioStreamEnergyMonitor(): void; protected audioStreamEnergyMonitorCleanup(): void; protected dataChannelCleanup(): void; protected audioCleanup(): TotalMediaStats; protected emitErrorEvent(errorCode: ErrorCode): void; private getMidByIdentityAndVideoType; private validateMediaActionAllowed; private validateRoleMediaAllowed; private muteInternal; private stopVideoInternal; private replaceAudioStream; private getAudioStream; private sendMute; private removeScreenShareVideoWithReason; private initEventHandlers; private handleDeviceChange; private switchToDefaultDevice; private updateVideoBitrate; private onVideoPublisherConnectionStateChanged; private onAudioConnectionStateChanged; private ringingHandler; private responseHandler; private acceptedHandler; private videoCallJoinedHandler; private changeMonitorConferenceId; private handleSetupDataChannel; private handleJoinedApplicationConference; private handleDialogCreated; private createParticipantMap; private handleDialogEstablished; private handleParticipantJoining; private handleParticipantJoined; private handleParticipantMediaChanged; private handleRoleChanged; private isRoleMediaAllowed; private disableMedia; private handleParticipantRoleChanged; private emitDeafEvent; private emitMutedEvent; private emitBlindEvent; private emitDisconnectedEvent; private emitParticipantRoleChanged; private handleStartedTalking; private handleStoppedTalking; private handleParticipantStartedTalking; private handleParticipantStoppedTalking; private emitTalkingEvent; private emitParticipantTalkingEvent; private handleParticipantLeft; private handleJoinedVideoConference; private subscribedVideoHandler; private handleSubscribeVideoFlowError; private updatedVideoHandler; private emitParticipantVideoRemovedEvent; private updateCameraStream; private handleLeftApplicationConference; private handleDialogFinished; private handleReconnecting; private handleReconnected; private handleCallReconnected; private handleDialogFailed; private videoSubscriberCleanup; private handleJoinVideoCallError; private handleJoinVideoConferenceError; private handleCallRecordingStarted; private handleCallRecordingStopped; private handleDialogRecordingStarted; private handleDialogRecordingStopped; private handleConferenceRecordingStarted; private handleConferenceRecordingStopped; private subscribeVideoConferenceError; private setupDataChannelError; private handleParticipantNetworkQuality; private handleParticipantDisconnected; private handleParticipantReconnected; private updateParticipant; private mapStreamEvent; private createVideoSubscriberPC; private onVideoPcTrack; private videoMediaReceivingHandler; private videoCallPublishedHandler; private videoConferencePublishedHandler; private publishVideoCallErrorHandler; private publishVideoConferenceErrorHandler; private videoCallUnpublishedHandler; private videoConferenceUnpublishedHandler; private hangupHandler; private errorHandler; private cleanup; private handleTrickleIce; private addIceCandidate; private publishVideo; private updateTransceiver; private migrateLocalVideos; private addTransceiver; private negotiateVideoPublisher; private removeCameraVideo; private removeCameraAndScreenShare; private removeScreenShareVideo; private disableVideoMedia; private disableLocalMedia; private unpublishVideo; private disableTransceiver; private replaceTrack; private throwMediaError; private getDurationInSeconds; private onIceCandidate; private emitEstablished; private emitEarlyMedia; private onAudioPcTrack; private scheduleHangup; private createVideoPublisherPC; private handlePublishVideoFlowError; private handleGetUserMediaError; private getCameraVideoStream; private getScreenShareVideoStream; private checkAllowedDisplaySurface; private checkDisplaySurfaceSupported; private setScreenShareInactive; private onNetworkQualityStatisticsChanged; private emitNetworkQualityChanged; private currentNetworkQuality; private videoPublisherCleanup; private loadParticipant; private getEndpoint; private getRole; private sendDTMFInfo; private emitVideoRemovedEvent; private emitVideoAddedEvent; private resolveCurrentCallState; private resolveCallStateAfterReconnect; private handleApplicationCallChanges; private handleCallReconnectedToSameState; private handleCallReconnectedToNewState; private handleCallRecordingTypeChangeOnCallReconnected; private handleDialogRecordingTypeChangeOnCallReconnected; private handleConferenceRecordingTypeChangeOnCallReconnected; private handleParticipantChangesOnCallReconnected; private renegotiateMedia; private handleParticipantLeftDuringReconnect; private handleParticipantJoinedDuringReconnect; private handleParticipantChangesDuringReconnect; private handleLocalParticipantChangesDuringReconnect; private emitTalkingWhileMutedEvent; private handleMessageReceived; private handleMachineDetectionFinished; private handleMachineDetectionFailed; private updateCustomData; }