import { LocalUserRenderer, MediaService, AgoraWebRtcWrapper } from 'agora-rte-sdk';
import { EduScenarioAppStore } from '.';
import { BehaviorSubject } from 'rxjs';
export declare class PretestStore {
    _totalVolume: any;
    appStore: EduScenarioAppStore;
    id: string;
    error$: BehaviorSubject<{
        type: 'video' | 'audio';
        error: boolean;
    }>;
    constructor(appStore: EduScenarioAppStore);
    handleDeviceChange(...args: any[]): void;
    onDeviceTestError(cb: (evt: {
        type: 'video' | 'audio';
        error: boolean;
    }) => void): () => void;
    getDeviceItem(list: any[], queryDevice: {
        type: string;
        value: string;
        targetField: string;
    }): any;
    init(option?: {
        video?: boolean;
        audio?: boolean;
    }): void;
    cameraTestResult: string;
    microphoneTestResult: string;
    speakerTestResult: string;
    cameraLabel: string;
    microphoneLabel: string;
    _cameraId: string;
    _microphoneId: string;
    resolution: string;
    _cameraRenderer?: LocalUserRenderer;
    _microphoneTrack?: any;
    _screenVideoRenderer?: LocalUserRenderer;
    _playbackVolume: number;
    _cameraList: any[];
    isMirror: boolean;
    _speakerList: any[];
    _microphoneList: any[];
    get mediaService(): MediaService;
    get web(): AgoraWebRtcWrapper;
    get isWeb(): boolean;
    get isElectron(): boolean;
    get deviceTestSuccess(): boolean;
    get cameraId(): string;
    get microphoneId(): string;
    get speakerId(): string;
    get playbackVolume(): number;
    get microphoneLevel(): number;
    get totalVolume(): number;
    get cameraRenderer(): LocalUserRenderer | undefined;
    get cameraList(): any[];
    get microphoneList(): any[];
    get speakerList(): any[];
    setMirror(val: boolean): void;
    setCameraTestResult(v: string): void;
    setMicrophoneTestResult(v: string): void;
    setSpeakerTestResult(v: string): void;
    changePlaybackVolume(volume: number): void;
    resetCameraTrack(): void;
    resetMicrophoneTrack(): void;
    reset(): void;
    openTestCamera(): Promise<void>;
    closeTestCamera(): void;
    changeTestCamera(deviceId: string): Promise<void>;
    openTestMicrophone(payload: {
        enableRecording: boolean;
    }): Promise<void>;
    closeTestMicrophone(): void;
    updateCameraLabel(label: string): void;
    updateMicrophoneLabel(label: string): void;
    updateTestMicrophoneLabel(): void;
    updateTestCameraLabel(): void;
    changeTestMicrophone(deviceId: string): Promise<void>;
    get isNative(): boolean;
    switchSpeaker(deviceId: string): Promise<void>;
    openCamera(): Promise<void>;
    closeCamera(): void;
    changeCamera(deviceId: string): Promise<void>;
    openMicrophone(): Promise<void>;
    closeMicrophone(): void;
    changeNativeCamera(deviceId: string): Promise<void>;
    changeNativeMicrophone(deviceId: string): Promise<void>;
    changeElectronTestSpeaker(deviceId: string): Promise<void>;
    changeTestSpeaker(deviceId: string): Promise<void>;
    changeSpeaker(value: any): Promise<void>;
    changeTestSpeakerVolume(value: any): Promise<void>;
    changeTestMicrophoneVolume(value: any): Promise<void>;
    changeSpeakerVolume(value: any): Promise<void>;
    changeMicrophoneVolume(value: any): Promise<void>;
    changeMicrophone(deviceId: string): Promise<void>;
    changeTestResolution(resolution: any): Promise<void>;
    getCameras(): Promise<any[]>;
    getMicrophones(): Promise<any[]>;
}
