UNPKG

@tencentcloud/roomkit-web-vue3

Version:

<h1 align="center"> TUIRoomKit</h1> Conference (TUIRoomKit) is a product suitable for multi-person audio and video conversation scenarios such as business meetings, webinars, and online education. By integrating this product, you can add room management,

102 lines (100 loc) 3.85 kB
import { ChatSDK } from '../../node_modules/@tencentcloud/chat'; import { StartParams, JoinParams, LanguageOption } from './services'; import { TUIRoomEngine } from './index'; import { StreamInfo, UserInfo } from './stores/room'; import { Comparator } from './utils/utils'; export declare enum RoomEvent { ROOM_START = "RoomStart", ROOM_JOIN = "RoomJoin", ROOM_LEAVE = "RoomLeave", ROOM_DISMISS = "RoomDestroy", ROOM_ERROR = "RoomError", KICKED_OUT = "KickedOut", KICKED_OFFLINE = "KickedOffline", USER_SIG_EXPIRED = "UserSigExpired", USER_LOGOUT = "UserLogout", LANGUAGE_CHANGED = "LanguageChanged", THEME_CHANGED = "ThemeChanged", CONFERENCE_INVITATION_ACCEPTED = "ConferenceInvitationAccepted" } export declare enum FeatureButton { SwitchTheme = "SwitchTheme", SwitchLayout = "LayoutControl", SwitchLanguage = "Language", FullScreen = "FullScreen", Invitation = "InviteControl", BasicBeauty = "BasicBeauty" } export type ThemeOption = 'LIGHT' | 'DARK'; interface IConference { getRoomEngine(): TUIRoomEngine | null; on: (eventType: RoomEvent, callback: (data?: LanguageOption | ThemeOption | any) => void) => void; off: (eventType: RoomEvent, callback: (data?: LanguageOption | ThemeOption | any) => void) => void; login: (params: { sdkAppId: number; userId: string; userSig: string; tim?: ChatSDK; }) => Promise<void>; logout: () => Promise<void>; start: (roomId: string, params: StartParams) => Promise<void>; join: (roomId: string, params: JoinParams) => Promise<void>; leave: () => Promise<void>; dismiss: () => Promise<void>; setSelfInfo: (options: { userName: string; avatarUrl: string; }) => Promise<void>; setLanguage: (language: LanguageOption) => void; setTheme: (theme: ThemeOption) => void; disableTextMessaging: () => void; disableScreenSharing: () => void; enableWatermark: () => void; enableVirtualBackground: () => void; hideFeatureButton: (name: FeatureButton) => void; replaceFriendList: (userList: Array<any>) => void; setUserListSortComparator: (comparator: Comparator<UserInfo>) => void; setStreamListSortComparator: (comparator: Comparator<StreamInfo>) => void; setParticipants: (participants: Array<{ userName: string; userId: string; avatarUrl: string; }>) => void; } declare class Conference implements IConference { login(params: { sdkAppId: number; userId: string; userSig: string; tim?: ChatSDK; }): Promise<void>; logout(): Promise<void>; getRoomEngine(): TUIRoomEngine | null; on(eventType: RoomEvent, callback: (data?: LanguageOption | ThemeOption | any) => void): void; off(eventType: RoomEvent, callback: (data?: LanguageOption | ThemeOption | any) => void): void; start(roomId: string, params?: StartParams): Promise<void>; join(roomId: string, params?: JoinParams): Promise<void>; leave(): Promise<void>; dismiss(): Promise<void>; setSelfInfo(options: { userName: string; avatarUrl: string; }): Promise<void>; setLanguage(language: LanguageOption): void; setTheme(theme: ThemeOption): void; disableTextMessaging(): void; disableScreenSharing(): void; enableWatermark(): void; enableVirtualBackground(): void; hideFeatureButton(name: FeatureButton): void; replaceFriendList(userList: Array<any>): void; setUserListSortComparator(comparator: Comparator<UserInfo>): void; setStreamListSortComparator(comparator: Comparator<StreamInfo>): void; setParticipants(participants: Array<{ userName: string; userId: string; avatarUrl: string; }>): void; } export declare const conference: Conference; export {};