import WebRTCSession from './WebRTCSession'; import { Calls, PeerConnectionState } from '../types'; export default class WebRTCPeerConnection { original: RTCPeerConnection; session: WebRTCSession; userID: number; type: RTCSdpType; remoteSDP: string | null; state: PeerConnectionState; iceCandidates: RTCIceCandidateInit[]; remoteStream: MediaStream; answerTimeInterval: number; onStatusClosedChecker: NodeJS.Timeout | null; dialingTimer: NodeJS.Timeout | null; statsReportTimer: NodeJS.Timeout | null; waitingReconnectTimeoutCallback: NodeJS.Timeout | null; released: boolean; constructor(session: WebRTCSession, userID: number, type: RTCSdpType); private create; private setup; private onMediaTrackHandler; private onIceCandidateHandler; private onSignalingStateHandler; /** handler of remote media stream */ private onIceConnectionStateHandler; private clearWaitingReconnectTimer; private startWaitingReconnectTimer; private clearStatsReportTimer; addCandidates(iceCandidates: RTCIceCandidateInit[]): Promise; release(): void; clearDialingTimer(): void; getAndSetLocalSessionDescription(maxBandwidth: number, iceRestart?: boolean): Promise; setRTCRtpSenderMaxBandwidth(maxBandwidth: number): void; startDialingTimer(extension: Calls.ExtensionParams, withOnNotAnswerCallback: boolean): void; setRemoteSessionDescription(type: RTCSdpType, sdp: string): Promise; private getWrappedStats; set sdpRemote(sdp: string); get sdpRemote(): string | null; toString(): string; private getStatsCustom; private getBitratePerSecond; private getFramesPerSecond; close(): void; addTrack(track: MediaStreamTrack, stream: MediaStream): RTCRtpSender; getSenders(): RTCRtpSender[]; createOffer(options?: RTCOfferOptions): Promise; createAnswer(options?: RTCOfferOptions): Promise; getStats(selector?: MediaStreamTrack | null): Promise; addIceCandidate(candidate?: RTCIceCandidateInit): Promise; setRemoteDescription(description: RTCSessionDescriptionInit): Promise; setLocalDescription(description?: RTCSessionDescriptionInit): Promise; get localDescription(): RTCSessionDescription; get signalingState(): RTCSignalingState; get iceConnectionState(): RTCIceConnectionState; } //# sourceMappingURL=WebRTCPeerConnection.d.ts.map