import { Transport } from '../../../../../transport/transport'; import { EmitterBase } from '../../../../base'; import { RTCEndpointChannels } from './endpoint'; export declare class RTCICEManager extends EmitterBase { constructor(wire: Transport); static createDataChannelPromise(label: string, rtcClient: RTCPeerConnection): Promise; ensureChannelOpened: (channel: RTCDataChannel) => Promise; listenForProviderIce(rtcConnectionId: string, listener: any): Promise; raiseProviderIce(rtcConnectionId: string, payload: any): Promise; listenForClientIce(rtcConnectionId: string, listener: any): Promise; raiseClientIce(rtcConnectionId: string, payload: any): Promise; private cleanupIceListeners; private createClientEventName; private createProviderEventName; private createRouteString; private createRtcPeer; startClientOffer(): Promise<{ rtcClient: RTCPeerConnection; offer: RTCSessionDescriptionInit; channels: RTCEndpointChannels; rtcConnectionId: string; channelsOpened: Promise; }>; finishClientOffer(rtcClient: RTCPeerConnection, answer: RTCSessionDescriptionInit, providerReady: Promise): Promise; createProviderAnswer(rtcConnectionId: string, offer: RTCSessionDescriptionInit): Promise<{ rtcClient: RTCPeerConnection; answer: RTCSessionDescriptionInit; channels: Promise; }>; }