UNPKG

agora-meeting-sdk

Version:

For publishing npm package agora-metting-sdk (Web). Get more information from https://docs.agora.io

179 lines (178 loc) 7.03 kB
import { ApiBase, ApiBaseInitializerParams } from './base'; import { EduUser, StreamType, DeleteStreamType, AgoraFetchParams, ClassroomStateParams, UserQueryParams, StreamQueryParams, EduStreamParams, EduStream, ChannelMessageParams, PeerMessageParams, EduUserData, EduStreamData, EduCourseState } from '../../interfaces'; import { EntryRequestParams, UserStreamResponseData, UserStreamList, EduJoinRoomParams, JoinRoomResponseData } from './interface'; export declare type CauseType = Record<string, any>; export declare type BatchStreamAttribute = { streamUuid: string; userUuid: string; }; export declare type EduStreamAttribute = { streamUuid: string; userUuid: string; videoSourceType: number; audioSourceType: number; hasVideo: number; hasAudio: number; }; export declare type BatchAttributes = { properties: Record<any, any>; cause?: CauseType; }; export interface ILocalUserInfo { userUuid: string; userToken: string; rtmToken: string; rtcToken: string; } declare type PeerChatMessageParams = { message: string; remoteUser: EduUser; roomUuid: string; }; declare type RoomChatMessageParams = { message: string; roomUuid: string; }; declare type CreateBizStreamParams = { roomUuid: string; userUuid: string; streamName: string; streamUuid: string; audioState: number; videoState: number; videoSourceType: number; audioSourceType: number; }; declare type UpdateBizStreamParams = { roomUuid: string; userUuid: string; streamName: string; streamUuid: string; audioState: number; videoState: number; videoSourceType: number; audioSourceType: number; generateToken: boolean; }; declare type DeleteBizStreamParams = { roomUuid: string; userUuid: string; streamUuid: string; }; declare type RemoteMediaParams = { roomUuid: string; userUuid: string; streamUuid: string; }; declare type UpsertStreamsParams = { roomUuid: string; streams: Array<StreamType>; }; declare type DeleteStreamsParams = { roomUuid: string; streams: Array<DeleteStreamType>; }; export declare class AgoraEduApi extends ApiBase { roomUuid: string; appId: string; authorization: string; nextId?: string; localInfo?: ILocalUserInfo; latestTime: number; private lastUserListTime; private lastStreamListTime; constructor(params: ApiBaseInitializerParams); updateLastTime(t: number): void; wait(time: number): Promise<void>; fetch(params: AgoraFetchParams): Promise<any>; getRoomConfig(roomId: string): Promise<any>; updateClassroomState(roomId: string, params: ClassroomStateParams): Promise<any>; getUserList(roomUuid: string, params: UserQueryParams): Promise<any>; getStreamList(roomUuid: string, params: StreamQueryParams): Promise<any>; createStream(roomId: string, params: EduStreamParams): Promise<any>; updatePublishStream(roomId: string, streamId: string, stream: EduStream): Promise<any>; removePublishStream(roomId: string, streamId: string, stream: EduStream): Promise<any>; sendChannelMessage(data: ChannelMessageParams): Promise<any>; sendPeerMessage(data: PeerMessageParams): Promise<any>; exitRoom(roomId: string): Promise<any>; entryRoom(params: EntryRequestParams): Promise<any>; fetchUsersStreams(nextId: string, count: number, updateTimeOffset?: number, includeOffline?: number): Promise<UserStreamResponseData>; fetchAllOfflineUsersStream(): Promise<UserStreamList>; fetchAllOnlineUserStream(): Promise<UserStreamList>; syncUserList(roomUuid: string): Promise<EduUserData[]>; syncStreamList(roomUuid: string): Promise<EduStreamData[]>; subRoomData(params: any): Promise<any>; joinRoom(params: EduJoinRoomParams): Promise<JoinRoomResponseData>; upsertBizStream(args: CreateBizStreamParams): Promise<any>; createBizStream(args: CreateBizStreamParams): Promise<any>; updateBizStream(args: UpdateBizStreamParams): Promise<any>; deleteBizStream(args: DeleteBizStreamParams): Promise<any>; sendRoomChatMessage(args: RoomChatMessageParams): Promise<any>; sendUserChatMessage(args: PeerChatMessageParams): Promise<any>; updateCourseState(params: { roomUuid: string; courseState: EduCourseState; }): Promise<any>; updateRoomProperties({ roomUuid, key, value, cause, }: { roomUuid: string; key: string; value: string; cause?: string; }): Promise<any>; updateRoomBatchProperties({ roomUuid, properties, cause, }: { roomUuid: string; properties: object; cause?: string; }): Promise<any>; allowStudentChatByRole(args: { enable: boolean; roomUuid: string; roles: string[]; }): Promise<any>; stopShareScreen(roomUuid: string, streamUuid: string, userUuid: string): Promise<void>; allowRemoteStudentChat({ roomUuid, userUuid, muteChat, }: any): Promise<any>; kickUser(args: { roomUuid: string; userUuid: string; }): Promise<any>; inviteUserPublishStream({ roomUuid, userUuid, streamUuid, }: RemoteMediaParams): Promise<any>; remoteStartStudentCamera({ roomUuid, userUuid, streamUuid, }: RemoteMediaParams): Promise<any>; remoteCloseStudentStream({ roomUuid, userUuid, streamUuid, }: RemoteMediaParams): Promise<any>; remoteStopStudentCamera({ roomUuid, userUuid, streamUuid, }: RemoteMediaParams): Promise<any>; remoteStartStudentMicrophone({ roomUuid, userUuid, streamUuid, }: RemoteMediaParams): Promise<any>; remoteStopStudentMicrophone({ roomUuid, userUuid, streamUuid, }: RemoteMediaParams): Promise<any>; batchUpsertStream({ roomUuid, streams }: UpsertStreamsParams): Promise<any>; batchDeleteStream({ roomUuid, streams }: DeleteStreamsParams): Promise<any>; login(userUuid: string): Promise<any>; syncSnapShot(roomUuid: string): Promise<any>; syncSequence(roomUuid: string, seqId: number, count?: number): Promise<any>; /** * 批量移除用户属性 * @param roomUuid 房间id * @param userUuid 用户id */ batchRemoveUserAttributes(roomUuid: string, userUuid: string, cause?: CauseType): Promise<any>; /** * 批量更新房间属性 * @param roomUuid roomUuid: string * @param properties properties: Object */ batchUpdateRoomAttributes(roomUuid: string, properties: BatchAttributes, cause?: CauseType): Promise<any>; /** * 批量移除房间属性 * @param roomUuid roomUuid: string */ batchRemoveRoomAttributes(roomUuid: string, cause?: CauseType): Promise<any>; /** * 批量移除流属性 * @param streamUuid */ batchRemoveStreamAttributes(streams: BatchStreamAttribute[], cause?: CauseType): Promise<any>; /** * 批量更新流属性 * @param streamUuid * @param properties */ batchUpdateStreamAttributes(streams: EduStreamAttribute[], cause?: CauseType): Promise<any>; } export {};