agora-meeting-sdk
Version:
For publishing npm package agora-metting-sdk (Web). Get more information from https://docs.agora.io
121 lines (120 loc) • 3.74 kB
TypeScript
import { EduClassroomManager, EduManager } from '../../../agora-rte-sdk/src';
import { EduScenarioAppStore } from '.';
import { IAgoraExtApp, RoomInfo, DeviceTypeEnum, UserInfo, AgoraEvent } from '../api/declare';
import { RoomApi } from '../services/room-api';
declare type SimpleRoomInfo = {
roomId: string;
roomName: string;
roomPassword: string;
};
export declare enum ShareType {
close = 0,
screen = 1,
board = 2
}
export declare enum RoomState {
noStart = 0,
open = 1,
close = 2
}
declare type RoomProperties = {
im: any;
userPermission: {
micAccess: boolean;
cameraAccess: boolean;
};
roomInfo: SimpleRoomInfo;
share: {
type: ShareType;
screen: {
ownerInfo: UserInfo;
streamInfo: any;
};
};
board: {
info: {
boardId: string;
boardToken: string;
appIdentifier: string;
};
state: {
follow: number;
grantUsers: string[];
};
ownerInfo: UserInfo;
};
schedule: {
state: RoomState;
};
record: {
ownerInfo: UserInfo;
state: number;
recordId: string;
recordingTime: number;
startTime?: number;
sid: string;
resourceId: string;
};
processes: {
micAccess: any;
cameraAccess: any;
};
flexProps?: any;
};
export declare class RoomStore {
roomApi: RoomApi;
roomManager: EduClassroomManager;
appStore: EduScenarioAppStore;
_leavaReason: AgoraEvent;
constructor(appStore: EduScenarioAppStore);
get eduManager(): EduManager;
roomProperties: RoomProperties;
roomJoined: boolean;
roomInfo: RoomInfo;
isChangingUserPermission: boolean;
get videoEncoderConfiguration(): import("./scene").SceneVideoConfiguration;
get delay(): string;
get userId(): string;
get sceneStore(): import("./scene").SceneStore;
get messageStore(): import("./message").MessageStore;
get screenStore(): import("./screen").ScreenStore;
get mediaStore(): import("./media").MediaStore;
get renderStore(): import("./render").RenderStore;
get boardStore(): import("./board").BoardStore;
get hasCameraAccess(): boolean;
get hasMicAccess(): boolean;
get userStore(): import("./user").UserStore;
get flexRoomProperties(): any;
reset(): Promise<void>;
pluginRoomProperties(extApp: IAgoraExtApp): any;
/** 加入房间的主流程 */
join(): Promise<void>;
checkInitStatus(): void;
checkHasHost(): void;
checkScreenSharing(): void;
checkWhiteBoard(): Promise<void>;
checkRecord(): void;
checkHasJoined({ roomId, userId }: any): boolean;
listenRtmConnectionState(): void;
initApiAndInfo(): Promise<void>;
initRoomManager(): Promise<void>;
handleLocalStreamUpdated(evt: any): Promise<void>;
handleLocalStreamRemoved(evt: any): Promise<void>;
handleRemoteStreamRemoved(evt: any): void;
handleRemoteStreamUpdated(evt: any): void;
handleRemoteUserAdded(evt: any): void;
handleRemoteUserRemoved(evt: any): void;
handleRoomMessage(evt: any): void;
handleUserMessage(evt: any): void;
handleLocalUserUpdated(evt: any): Promise<void>;
handleLocalUserRemoved(evt: any): Promise<void>;
handleRoomroomPropertyChange(evt: any): Promise<void>;
setControllerData(): void;
setRoomInfo(roomInfo: RoomInfo): void;
leaveRoom(): Promise<void>;
closeRoom(): Promise<void>;
changeUserPermission(device: DeviceTypeEnum, access: boolean): Promise<void>;
uploadRoomLog(): Promise<any>;
updateFlexRoomProperties(properties?: any): Promise<any>;
}
export {};