///
import RTCConfiguration = freedom.RTCPeerConnection.RTCConfiguration;
import RTCDataChannelInit = freedom.RTCPeerConnection.RTCDataChannelInit;
import RTCIceCandidate = freedom.RTCPeerConnection.RTCIceCandidate;
import RTCOfferOptions = freedom.RTCPeerConnection.RTCOfferOptions;
import RTCPeerConnection = freedom.RTCPeerConnection.RTCPeerConnection;
import RTCSessionDescription = freedom.RTCPeerConnection.RTCSessionDescription;
import MockEventHandler = require('./mock-eventhandler');
declare class MockFreedomRtcPeerConnection extends MockEventHandler implements RTCPeerConnection {
constructor();
createOffer(options?: RTCOfferOptions): Promise;
createAnswer(): Promise;
setLocalDescription(desc: RTCSessionDescription): Promise;
getLocalDescription(): Promise;
setRemoteDescription(desc: RTCSessionDescription): Promise;
getRemoteDescription(): Promise;
getSignalingState(): Promise;
updateIce(configuration: RTCConfiguration): Promise;
addIceCandidate(candidate: RTCIceCandidate): Promise;
getIceGatheringState(): Promise;
getIceConnectionState(): Promise;
getConfiguration(): Promise;
getLocalStreams(): Promise;
getRemoteStreams(): Promise;
getStreamById(id: string): Promise;
addStream(ref: string): Promise;
removeStream(ref: string): Promise;
close(): Promise;
createDataChannel(label: string, init: RTCDataChannelInit): Promise;
getStats(selector?: string): Promise;
}
export = MockFreedomRtcPeerConnection;