import { WebSocketSignaling } from "../Signaling/WebSocketSignaling"; import { SimliClientEvents } from "../Events"; import { BaseTransport, EventMap } from "./BaseTransport"; import { Logger } from "../Logger"; declare class P2PTransport implements BaseTransport { videoElementAnchor: HTMLVideoElement; audioElementAnchor: HTMLAudioElement; signalingConnection: WebSocketSignaling; session_token: string; pc: RTCPeerConnection; events: EventMap; logger: Logger; private iceCandidateCount; private previousIceCandidateCount; private iceTimeout; private websocketPromise; private websocketReject; constructor(simliBaseWSURL: string, session_token: string, enableSFU: boolean, iceServers: RTCIceServer[], videoElementAnchor: HTMLVideoElement, audioElementAnchor: HTMLAudioElement, logger: Logger, failSignal: (message: string) => void); on(event: K, callback: SimliClientEvents[K]): void; off(event: K, callback: SimliClientEvents[K]): void; emit(event: K, ...args: Parameters): void; connect(): Promise; disconnect(): Promise; private registerPeerInfo; private waitForIceGathering; private setupPeerConnectionListeners; } export { P2PTransport };