import { EduUIStoreBase } from '../base';
import { ClassroomState } from 'agora-edu-core';
export declare type SettingToast = {
    id: string;
    type: 'video' | 'audio_recording' | 'audio_playback' | 'error';
    info: string;
};
export declare class DeviceSettingUIStore extends EduUIStoreBase {
    private _defaultSystemAudioRecordingDeviceId?;
    private _defaultSystemAudioPlaybackDeviceId?;
    private _userHasSelectedAudioRecordingDevice;
    private _userHasSelectedAudioPlaybackDevice;
    private _disposers;
    onInstall(): void;
    /**
     * 获取视频设备信息
     **/
    /** @en
     * get camera accessors
     */
    get cameraAccessors(): {
        classroomState: ClassroomState;
        cameraDeviceId: string | undefined;
        localCameraStreamUuid: string | undefined;
    };
    /**
     * 音频设备信息
     **/
    /** @en
     * mic Accessors
     */
    get micAccessors(): {
        classroomState: ClassroomState;
        recordingDeviceId: string | undefined;
        localMicStreamUuid: string | undefined;
    };
    /**
     * 是否可设置隐藏/显示讲台区域
     */
    get deviceStage(): boolean | undefined;
    get stageVisible(): boolean;
    /**
     * 设置当前使用摄像头设备
     * @param id
     */
    setCameraDevice(id: string): void;
    /**
     * 设置当前使用麦克风设备
     * @param id
     */
    setRecordingDevice(id: string): void;
    /**
     * 设置当前使用扬声器设备
     * @param id
     */
    setPlaybackDevice(id: string): void;
    setUserHasSelectedAudioRecordingDevice(): void;
    setUserHasSelectedAudioPlaybackDevice(): void;
    /**
     * 设置讲台开关
     * 停止轮询 业务逻辑
     * @param stage
     */
    setStageVisible(stage: boolean): Promise<void>;
    private _enableLocalVideo;
    private _enableLocalAudio;
    onDestroy(): void;
}
