agora-meeting-core
Version:
For publishing npm package agora-metting-core (Web). Get more information from https://docs.agora.io
302 lines (301 loc) • 7.35 kB
TypeScript
import { UserRenderer } from 'agora-rte-sdk';
import { SceneDefinition } from 'white-web-sdk';
export type { IMediaRenderer } from 'agora-rte-sdk';
export declare type AgoraExtAppUserInfo = {
userUuid: string;
userName: string;
roleType: number;
};
export declare type AgoraExtAppRoomInfo = {
roomUuid: string;
roomName: string;
roomType: number;
};
export declare type AgoraExtAppContext = {
properties: any;
dependencies: Map<string, any>;
localUserInfo: AgoraExtAppUserInfo;
roomInfo: AgoraExtAppRoomInfo;
language: string;
};
export declare type AgoraExtAppHandle = {
updateRoomProperty: (properties: any, cause: any) => Promise<void>;
deleteRoomProperties: (properties: string[], cause: any) => Promise<void>;
};
export interface IAgoraExtApp {
appIdentifier: string;
appName: string;
width: number;
height: number;
extAppDidLoad(dom: Element, ctx: AgoraExtAppContext, handle: AgoraExtAppHandle): void;
extAppRoomPropertiesDidUpdate(properties: any, cause: any): void;
extAppWillUnload(): void;
}
export declare type ConvertedFile = {
width: number;
height: number;
ppt: {
width: number;
src: string;
height: number;
};
conversionFileUrl: string;
};
export declare type CourseWareItem = {
resourceName: string;
resourceUuid: string;
ext: string;
url: string;
conversion: {
type: string;
};
size: number;
updateTime: number;
scenes: SceneDefinition[];
convert?: boolean;
taskUuid?: string;
taskToken?: string;
taskProgress?: {
totalPageSize?: number;
convertedPageSize?: number;
convertedPercentage?: number;
convertedFileList: any;
};
};
declare type RoomInfoParams = {
roomName: string;
roomId: string;
userName: string;
userId: string;
roomPassword: string;
openCamera: boolean;
openMic: boolean;
duration: number;
totalPeople: number;
userInOutNotificationLimitCount?: number;
};
export declare type AppStoreConfigParams = {
agoraAppId: string;
agoraNetlessAppId: string;
enableLog: boolean;
sdkDomain: string;
rtmUid: string;
token: string;
recordUrl: string;
isRobot?: boolean;
userProperties?: {
[key: string]: any;
};
flexRoomProps?: {
[key: string]: any;
};
recordConfig?: RecordConfig;
};
export declare type AppStoreInitParams = {
roomInfoParams?: RoomInfoParams;
config: AppStoreConfigParams;
pretest?: boolean;
mainPath?: string;
roomPath?: string;
resetRoomInfo: boolean;
};
export declare enum RoleTypeEnum {
host = "host",
broadcaster = "broadcaster",
audience = "audience"
}
export declare enum DeviceTypeEnum {
camera = 1,
mic = 2
}
export declare type RoomInfo = {
roomName: string;
roomId: string;
userId: string;
userName: string;
userRole: RoleTypeEnum;
roomPassword: string;
startTime: number;
duration: number;
streamId?: string;
};
export declare type DeviceInfo = {
cameraName: string;
microphoneName: string;
};
export declare type RoomConfigProps<T> = {
store: T;
};
export interface RoomComponentConfigProps<T> {
store: T;
dom: Element;
}
export declare type MeetingConfig = {
appId: string;
};
export declare type ListenerCallback = (evt: AgoraEvent) => void;
export declare type ChatMessage = {
timestamp: number;
messageId: number;
fromUser: UserInfo;
content: string;
isFromMyself: boolean;
sendState: MessageSendState;
};
export declare type NotifyMessage = {
payload?: any;
timestamp: number;
messageId: number;
sender: UserInfo;
type: NotifyMessageType;
};
export declare enum NotifyMessageType {
ADMIN_MUTE_ALL_MIC = 1,
ADMIN_MUTE_ALL_CAM = 2,
ACCESS_CHANGE_CAM_ON = 3,
ACCESS_CHANGE_MIC_ON = 4,
ACCESS_CHANGE_CAM_OFF = 5,
ACCESS_CHANGE_MIC_OFF = 6,
ADMIN_MUTE_YOUR_CAM = 7,
ADMIN_MUTE_YOUR_MIC = 8,
ADMIN_CHANGE_BE_HOST = 9,
ADMIN_CHANGE_NO_HOST = 10,
USER_CHANGE_ENTER = 11,
USER_CHANGE_LEFT = 12,
SCREEN_CHNAGE_ON = 13,
SCREEN_CHANGE_OFF = 14,
BOARD_CHANGE_ON = 15,
BOARD_CHANGE_OFF = 16,
BOARD_INTERACT_ON = 17,
USER_APPROVE_APPLY_CAM = 18,
USER_APPROVE_APPLY_MIC = 19,
USER_APPROVE_ACCEPT_CAM = 20,
USER_APPROVE_ACCEPT_MIC = 21,
NOTIFY_IN_OUT_OVER_MAX_LIMIT = 22,
NOTIFY_IN_OUT_CLOSED = 23,
SYS_PERMISSION_MIC_DENIED = 24,
SYS_PERMISSION_CAM_DENIED = 25,
RECORD_CLOSED = 26
}
export declare enum CmdEnum {
close_all_camera_devices = 300,
close_all_micro_devices = 301,
close_single_camera_device = 302,
close_single_micro_device = 303,
user_permission_changed = 310,
start_board = 320,
close_board = 321,
update_board = 2,
update_record = 1,
start_screen_share = 322,
close_screen_share = 323
}
export declare enum RenderInfoType {
media = 1,
board = 2,
screenSharing = 3
}
export declare type UserInfo = {
userId: string;
userName: string;
userRole: RoleTypeEnum;
userProperties?: {
[key: string]: any;
};
};
export declare type UserDetailInfo = UserInfo & {
hasVideo: boolean;
hasAudio: boolean;
isSharing: boolean;
isMe: boolean;
options: UserOperation[];
};
export declare type RenderInfo = {
type: RenderInfoType;
id: string;
isMe: boolean;
userInfo: UserInfo;
isSharing: boolean;
streamId: string;
hasVideo: boolean;
hasAudio: boolean;
options: UserOperation[];
renderer: UserRenderer;
videoPlayerConfig?: VideoPlayerConfig;
};
export declare enum UserOperation {
abandonHost = 1,
beHost = 2,
setAsHost = 3,
closeCamera = 4,
closeMic = 5,
kickOut = 6,
closeAllCamera = 7,
closeAllMic = 8
}
export declare enum LocalDeviceState {
open = 1,
close = 2,
approving = 3
}
export declare enum MessageSendState {
sending = 1,
success = 2,
fail = 3
}
export declare enum DevicePermission {
systemDenied = 1,
approveNeed = 2,
granted = 3
}
export declare enum NetworkQualityLevel {
unknown = "unknown",
excellent = "excellent",
good = "good",
bad = "bad",
poor = "poor"
}
export declare enum BoardPermission {
admin = 1,
interact = 2,
noPremission = 3
}
export declare enum RecordState {
recording = 1,
end = 2
}
export interface RecordConfig {
audioOnly?: string;
}
export declare enum ApproveAction {
apply = 1,
invite = 2,
accept = 3,
reject = 4,
cancel = 5
}
export declare interface VideoPlayerConfig {
mirror?: boolean;
fit?: 'cover' | 'contain' | 'fill';
}
export declare type ConnectState = 'DISCONNECTED' | 'CONNECTING' | 'CONNECTED' | 'RECONNECTING' | 'ABORTED';
export interface RoomCache {
/** 房间信息 */
roomInfo: RoomInfo;
/** 用户信息 */
userInfo: UserInfo;
/** 房间进出通知人数 */
userInOutNotifyLimit: number;
}
export declare enum AgoraEvent {
ready = 1,
LeaveInitiative = 2,
LeaveForKickedOut = 3,
LeaveForTimeout = 4,
CloseInitiative = 5,
CloseForMeetingEnded = 6
}
export interface PrivateChatMessage {
content: string;
fromUser: UserInfo;
}