import { RTCDataChannel } from "./dataChannel"; import { IceState } from "./transport/ice"; import { RTCSessionDescription } from "./sdp"; import Event from "rx.mini"; declare type Configuration = { stunServer: [string, number]; privateKey: string; certificate: string; }; declare type SignalingState = "stable" | "have-local-offer" | "have-remote-offer" | "closed"; export declare class RTCPeerConnection { private configuration; datachannel: Event; iceGatheringStateChange: Event; iceConnectionStateChange: Event; signalingStateChange: Event; private certificates; private sctpTransport?; private sctpRemotePort?; private sctpRemoteCaps?; private remoteDtls; private remoteIce; private seenMid; private sctpMLineIndex?; private currentLocalDescription?; private currentRemoteDescription?; private pendingLocalDescription?; private pendingRemoteDescription?; private iceTransports; private _iceConnectionState; private _iceGatheringState; private _signalingState; private isClosed; private streamId; private transceivers; constructor(configuration?: Partial); get iceConnectionState(): IceState; get iceGatheringState(): IceState; get signalingState(): SignalingState; get localDescription(): RTCSessionDescription; get remoteDescription(): RTCSessionDescription; private _localDescription; private _remoteDescription; createOffer(): RTCSessionDescription; createDataChannel(label: string, options?: Partial<{ maxPacketLifeTime?: number; protocol: string; maxRetransmits?: number; ordered: boolean; negotiated: boolean; id?: number; }>): RTCDataChannel; private updateIceGatheringState; private updateIceConnectionState; private createDtlsTransport; private createSctpTransport; setLocalDescription(sessionDescription: RTCSessionDescription): Promise; private gather; private connect; private setSignalingState; private validateDescription; setRemoteDescription(sessionDescription: RTCSessionDescription): Promise; private createTransceiver; createAnswer(): RTCSessionDescription; close(): Promise; private assertNotClosed; private removeAllListeners; } export {};