import { ConnectivityCheckResult, ConnectivityState, HMSDiagnosticsInterface, MediaPermissionCheck } from './interfaces';
import { HMSUpdateListener } from '../internal';
import { HMSSdk } from '../sdk';
import { HMSLocalPeer } from '../sdk/models/peer';
export declare class Diagnostics implements HMSDiagnosticsInterface {
    private sdk;
    private sdkListener;
    private recordedAudio?;
    private mediaRecorder?;
    private connectivityCheck?;
    private onStopMicCheck?;
    constructor(sdk: HMSSdk, sdkListener: HMSUpdateListener);
    get localPeer(): HMSLocalPeer | undefined;
    checkBrowserSupport(): void;
    requestPermission(check: MediaPermissionCheck): Promise<MediaPermissionCheck>;
    startCameraCheck(inputDevice?: string): Promise<void>;
    stopCameraCheck(): void;
    startMicCheck({ inputDevice, onError, onStop, time, }: {
        inputDevice?: string;
        onError?: (error: Error) => void;
        onStop?: () => void;
        time?: number;
    }): Promise<void>;
    stopMicCheck(): void;
    getRecordedAudio(): string | undefined;
    startConnectivityCheck(progress: (state: ConnectivityState) => void, completed: (result: ConnectivityCheckResult) => void, region?: string, duration?: number): Promise<void>;
    stopConnectivityCheck(): Promise<void>;
    private initSdkWithLocalPeer;
    private getAuthToken;
    private getLocalAudioTrack;
}
