import * as KMPPackage from '../kotlin/clientsdk-clientcore_js';
import vonage from '../utils/vonage';
import 'webrtc-adapter';
type MediaResultClosure = (p0: KMPPackage.Nullable<vonage.MediaClientErrorJS>) => void;
declare class MediaClient implements vonage.MediaClientJS {
    delegate: KMPPackage.Nullable<vonage.MediaClientDelegateJS>;
    private pcs;
    private audio;
    private intervalId;
    constructor();
    enableRtcStatsCollection(id: string, interval: number, closure: MediaResultClosure): void;
    enableMediaInbound(rtcId: string, offerSDP: string, closure: (err: unknown, offerSDP: KMPPackage.Nullable<string>) => void): Promise<void>;
    enableMediaOutbound(closure: (err: unknown, offerSDP: KMPPackage.Nullable<string>, callback: (legId: string) => void) => void): Promise<void>;
    private getNewPC;
    mute(id: string, closure: MediaResultClosure): Promise<void>;
    unmute(id: string, closure: MediaResultClosure): Promise<void>;
    getAudioOutputElement(): HTMLAudioElement | undefined;
    getPeerConnection(id: string): RTCPeerConnection | undefined;
    getMediaConnectionState(id: string): string;
    processAnswer(id: string, sdp: string, closure: MediaResultClosure): void;
    disableMedia(id: string, closure: MediaResultClosure): void;
    disableNoiseSuppression(id: string, closure: MediaResultClosure): void;
    enableNoiseSuppression(id: string, closure: MediaResultClosure): void;
    private setMediaTracksEnabled;
}
export default MediaClient;
