import { AgoraWebRtcWrapper, LocalUserRenderer, MediaService } from 'agora-rte-sdk';
import { Subject } from 'rxjs';
import { EduScenarioAppStore } from '.';
import { DeviceErrorCallback } from '../context/type';
export declare enum CustomizeDeviceLabel {
    Disabled = "disabled"
}
export declare class PretestStore {
    static resolutions: any[];
    isMirror: boolean;
    isBeauty: boolean;
    whitening: number;
    buffing: number;
    ruddy: number;
    setMirror(value: boolean): void;
    setBeauty(value: boolean): void;
    setWhitening(value: number): void;
    setBuffing(value: number): void;
    setRuddy(value: number): void;
    setBeautyEffectOptions({ lighteningLevel, rednessLevel, smoothnessLevel, isBeauty, }: {
        lighteningLevel: number;
        rednessLevel: number;
        smoothnessLevel: number;
        isBeauty: boolean;
    }): void;
    settingVisible: boolean;
    showSetting(): void;
    hideSetting(): void;
    activeDeviceItem: string;
    setActiveItem(type: string): void;
    get deviceTestSuccess(): boolean;
    cameraTestResult: string;
    microphoneTestResult: string;
    speakerTestResult: string;
    setCameraTestResult(v: string): void;
    setMicrophoneTestResult(v: string): void;
    setSpeakerTestResult(v: string): void;
    resolutionIdx: number;
    deviceList: any[];
    cameraLabel: string;
    rtcCameraId: string;
    rtcMicrophoneId: string;
    rtcSpeakerId: string;
    speakerLabel: string;
    microphoneLabel: string;
    _totalVolume: any;
    _cameraId: string;
    _microphoneId: string;
    get cameraId(): string;
    get microphoneId(): string;
    get speakerId(): string;
    resolution: string;
    get playbackVolume(): number;
    get microphoneLevel(): number;
    _playbackVolume: number;
    changePlaybackVolume(volume: number): void;
    _cameraRenderer?: LocalUserRenderer;
    _microphoneTrack?: any;
    _screenVideoRenderer?: LocalUserRenderer;
    get cameraRenderer(): LocalUserRenderer | undefined;
    get totalVolume(): number;
    queryVideoFrameIsNotFrozen(streamUuid: number): boolean;
    queryCamIssue(userUuid: string): boolean;
    get cameraDevice(): any;
    get micDevice(): any;
    get isCameraOpen(): boolean;
    appStore: EduScenarioAppStore;
    id: string;
    error$: Subject<{
        type: 'video' | 'audio';
        error: boolean;
        info: string;
    }>;
    constructor(appStore: EduScenarioAppStore);
    onDeviceTestError(cb: DeviceErrorCallback): () => void;
    getDeviceItem(list: any[], queryDevice: {
        type: string;
        value: string;
        targetField: string;
    }): any;
    getVideoDeviceLabelBy(deviceId: string): any;
    getAudioDeviceLabelBy(deviceId: string): any;
    handleDeviceChange(...args: any[]): void;
    resetCameraTrack(): void;
    resetMicrophoneTrack(): void;
    reset(): void;
    _cameraList: any[];
    get cameraList(): any[];
    _microphoneList: any[];
    get microphoneList(): any[];
    _speakerList: any[];
    get speakerList(): any[];
    private initRecords;
    getSpeakerList(): any[];
    init(option?: {
        video?: boolean;
        audio?: boolean;
    }): Promise<void>;
    cameraError?: string;
    microphoneError?: string;
    get mediaService(): MediaService;
    get web(): AgoraWebRtcWrapper;
    get isWeb(): boolean;
    get isElectron(): boolean;
    muteMicrophone(): void;
    muteCamera(): void;
    openTestCamera(): Promise<void>;
    closeTestCamera(): void;
    changeTestCamera(deviceId: string): Promise<void>;
    openTestMicrophone(payload: {
        enableRecording: boolean;
    }): Promise<void>;
    closeTestMicrophone(): Promise<void>;
    updateCameraLabel(label: string): void;
    updateMicrophoneLabel(label: string): void;
    updateTestMicrophoneLabel(): void;
    updateTestCameraLabel(): void;
    updateTestSpeakerLabel(): void;
    changeTestMicrophone(deviceId: string): Promise<void>;
    get isNative(): boolean;
    switchSpeaker(deviceId: string): Promise<void>;
    closeCamera(): Promise<void>;
    changeCamera(deviceId: string): Promise<void>;
    closeMicrophone(): 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>;
    getAudioRecordingVolume(): number;
    getAudioPlaybackVolume(): number;
}
