import { DeviceTypeEnum, UserDetailInfo, UserOperation, UserInfo, ConnectState } from '../api/declare';
import { EduScenarioAppStore } from './index';
import { RoomInfo } from '../api/declare';
export declare class UserStore {
    private appStore;
    constructor(appStore: EduScenarioAppStore);
    private watchHost;
    checkHasSpot(name: string, value: any): void;
    LocalConnectState: ConnectState;
    get isHost(): boolean;
    get hasHost(): boolean;
    get userDetailInfoList(): UserDetailInfo[];
    get roomApi(): import("../services/room-api").RoomApi;
    get roomProperties(): {
        im: any;
        userPermission: {
            micAccess: boolean;
            cameraAccess: boolean;
        };
        roomInfo: {
            roomId: string;
            roomName: string;
            roomPassword: string;
        };
        share: {
            type: import("./room").ShareType;
            screen: {
                ownerInfo: UserInfo;
                streamInfo: any;
            };
        };
        board: {
            info: {
                boardId: string;
                boardToken: string;
                appIdentifier: string;
            };
            state: {
                follow: number;
                grantUsers: string[];
            };
            ownerInfo: UserInfo;
        };
        schedule: {
            state: import("./room").RoomState;
        };
        record: {
            ownerInfo: UserInfo;
            state: number;
            recordId: string;
            recordingTime: number;
            startTime?: number | undefined;
            sid: string;
            resourceId: string;
        };
        processes: {
            micAccess: any;
            cameraAccess: any;
        };
        flexProps?: any;
    };
    get roomInfo(): RoomInfo;
    get userId(): string;
    get sceneStore(): import("./scene").SceneStore;
    get screenStore(): import("./screen").ScreenStore;
    get boardStore(): import("./board").BoardStore;
    get roomStore(): import("./room").RoomStore;
    get renderStore(): import("./render").RenderStore;
    get messageStore(): import("./message").MessageStore;
    get mediaStore(): import("./media").MediaStore;
    get localUserInfo(): UserInfo;
    applyToBeHost(): Promise<void>;
    giveUpHost(): Promise<void>;
    setAsHost(userId: string): Promise<void>;
    kickOut(userId: string): Promise<void>;
    /** 关闭所有的摄像头/麦克风 */
    closeAllDevice(type: DeviceTypeEnum): Promise<void>;
    dealUserOperation(userId: string, operation: UserOperation): Promise<void>;
    updateLocalUserProperties(properties: Object): Promise<void>;
    deleteLocalUserProperties(keys: string | string[]): Promise<void>;
}
