import { PeerConnectionMediaMonitor } from "./PeerConnectionMediaMonitor";
import { MediaType } from "../util/MediaType";
import { Logger } from "../Logger";
import { PeerConnectionTag } from "./media/PeerConnectionTag";
import { TotalMediaStats } from "../../call/stats/TotalMediaStats";
export default class MonitoredPeerConnection {
    readonly peerConnection: RTCPeerConnection;
    readonly monitor: PeerConnectionMediaMonitor;
    static PEER_CONNECTION_NAMING_MAPPING: {
        [key: number]: string;
    };
    static create(rtcConfig: RTCConfiguration, callId: string, peerConnectionTag: PeerConnectionTag, conferenceId: string, mediaType: MediaType, logger: Logger): MonitoredPeerConnection;
    private constructor();
    close(): TotalMediaStats;
    restartIce(): Promise<RTCSessionDescriptionInit>;
}
