import Subject from '../rx/Subject'; import IPeerConnection from './IPeerConnection'; import IPeerConnectionFactory from './IPeerConnectionFactory'; export interface IPeerConnectionOfferInit { audioTransceivers?: RTCRtpTransceiver[]; videoTransceivers?: RTCRtpTransceiver[]; peerConnection: IPeerConnection; localOffer: RTCSessionDescriptionInit; } export declare enum EncodedInsertableStreams { Disabled = 0, Enabled = 1 } export declare const defaultTrackKinds: ('audio' | 'video')[]; export default class PeerConnectionService { private static _logger; private static readonly _peerConnectionFactory; private static _cached; static get peerConnectionFactory(): Subject; static initiateInitialPrecaching(): void; static precacheCreatePeerConnectionOffer(): Promise<{ peerConnection: Promise; direction: RTCRtpTransceiverDirection; }>; static createPeerConnectionOffer(direction?: RTCRtpTransceiverDirection, trackKinds?: ("audio" | "video")[], encodedInsertableStreams?: EncodedInsertableStreams): Promise; private static isTracksKindsEquivalentToDefault; private constructor(); }