@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
TypeScript
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 {};