declare namespace TUICallEngine { /** * create TUICallEngine instance * @link https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/TUICallEngine.html#.createInstance */ function createInstance(options: ITRTCCallingOptions): any; /** * destroy TUICallEngine instance */ function destroyInstance(): Promise; /** * set log level */ function setLogLevel(level: LOG_LEVEL): void; /** * add event listener */ function on(eventName: string, callback: () => void, context?: any): void; /** * remove event listener */ function off(eventName: string, callback: () => void, context?: any): void; /** * init */ function init(params: ILoginParams): Promise; /** * login interface. All functions require login before you can use them. */ function login(params: ILoginParams): Promise; /** * logout interface */ function logout(): Promise; /** * one-to-one audio/video call. */ function call(params: ICallParam): Promise; /** * group call. */ function groupCall(params: IGroupCallParam): Promise; /** * invite others. */ function inviteUser(params: IInviteUserParam): Promise; /** * join in group call. */ function joinInGroupCall(params: IJoinInGroupCallParam): Promise; /** * accept. */ function accept(): void; /** * reject. */ function reject(): void; /** * hangup. */ function hangup(): void; /** * openCamera to start local preview */ function openCamera(videoViewDomID: HTMLElement | string): Promise; /** * closeCamera to stop local preview */ function closeCamera(): void; /** * start remote view */ function startRemoteView(params: IStartViewParam): Promise; /** * stop remote view */ function stopRemoteView(params: IStopViewParam): Promise; /** * open local microphone */ function openMicrophone(): void; /** * close local microphone */ function closeMicrophone(): void; /** * set video resolution: '480p' | '720p' | '1080p' */ function setVideoQuality(profile: string): Promise; /** * set video render parameters */ function setVideoRenderParams(params: ITRTCRenderParams): Promise; /** * switch call media type: 1 - audio; 2 - video */ function switchCallMediaType (newMediaType:number): Promise; /** * get device lists, deviceType: 'camera' | 'microphones' */ function getDeviceList(deviceType:string): Promise<[]>; /** * switch device */ function switchDevice(params: ISwitchDeviceParams): Promise; /** * set self userInfo */ function setSelfInfo(params: ISelfInfoParams): Promise; /** * enable/disable AI voice */ function enableAIVoice(enable: boolean): void; } export enum TUICallEvent { ERROR = 'onError', SDK_READY= 'sdkReady', INVITED= 'onInvited', USER_ACCEPT= 'onUserAccept', USER_ENTER= 'onUserEnter', USER_LEAVE= 'onUserLeave', REJECT= 'onReject', NO_RESP= 'onNoResp', LINE_BUSY= 'onLineBusy', CALLING_CANCEL= 'onCallingCancel', KICKED_OUT= 'onKickedOut', CALLING_TIMEOUT= 'onCallingTimeout', CALL_END= 'onCallEnd', CALLING_END= 'onCallEnd', USER_VIDEO_AVAILABLE= 'onUserVideoAvailable', USER_AUDIO_AVAILABLE= 'onUserAudioAvailable', USER_VOICE_VOLUME= 'onUserVoiceVolume', GROUP_CALL_INVITEE_LIST_UPDATE= 'onGroupCallInviteeListUpdate', CALL_TYPE_CHANGED= 'onCallTypeChanged', DEVICED_UPDATED= 'onDeviceUpdated', MESSAGE_SENT_BY_ME= 'onMessageSentByMe', ON_CALL_BEGIN= 'onCallBegin', ON_CALL_RECEIVED= 'onCallReceived', ON_CALL_CANCELED= 'onCallCanceled', ON_USER_NETWORK_QUALITY_CHANGED= 'onUserNetworkQualityChanged', } export enum TUICallType { AUDIO_CALL = 1, VIDEO_CALL = 2, DEVCIED_CAMERA= 'camera', DEVCIED_MICROPHONES= 'microphones', } export enum TUICallCameraPosition { FRONT = 0, BACK = 1, } export interface ITRTCCallingOptions { SDKAppID: number; tim?: any; } export interface ILoginParams { userID: string; userSig: string; assetsPath?: string; } export interface ICallParam { userID: string; type: CALL_TYPE; timeout?: number; offlinePushInfo?: OfflinePushInfo; roomID?: number; userData?: string; } export enum CALL_TYPE { UNKNOWN = 0, AUDIO_CALL = 1, VIDEO_CALL = 2 } export interface OfflinePushInfo { title?: string, description?: string, androidOPPOChannelID?: string, extension: String } export interface IGroupCallParam { userIDList: string[]; type: CALL_TYPE; groupID: string; timeout?: number; offlinePushInfo?: OfflinePushInfo; roomID?: number; userData?: string; } export interface IJoinInGroupCallParam { type: CALL_TYPE; groupID: string; roomID: number; } export interface IInviteUserParam { userIDList: string[]; offlinePushInfo?: OfflinePushInfo; } export interface IStopViewParam { userID: string; } export declare const CMD_TYPE_LIST: string[]; export declare enum CMD_TYPE { AUDIO_CALL = "audioCall", VIDEO_CALL = "videoCall", HANG_UP = "hangup", SWITCH_TO_AUDIO = "switchToAudio", SWITCH_TO_AUDIO_CALL = "switch_to_audio_call", SWITCH_TO_VIDEO = "switchToVideo" } export declare enum CALL_STATUS { IDLE = "idle", CALLING = "calling", CONNECTED = "connected" } export declare enum CALL_ROLE { UNKNOWN = "", INVITER = "inviter", INVITEE = "invitee" } export declare enum ACTION_TYPE { INVITE = 1, CANCEL_INVITE = 2, ACCEPT_INVITE = 3, REJECT_INVITE = 4, INVITE_TIMEOUT = 5 } export declare enum BUSINESS_ID { SIGNAL = 1 } export declare const VALID_VIDEO_PROFILE_LIST: string[]; export declare enum MODE_TYPE { AUDIO = "audio", VIDEO = "video" } export declare enum LOG_LEVEL { NORMAL = 0, RELEASE = 1, WARNING = 2, ERROR = 3, NONE = 4, } export interface ISwitchDeviceParams { deviceType: 'video' | 'audio'; deviceId: string; } export declare enum CALL_EXPERMENTEL_API_TYPE { BASE, PRO, ULTIMATE } export declare enum DEVICE_TYPE { AUDIO = "audio", VIDEO = "video", CAMERA = "camera", MICROPHONES = "microphones" } export interface ISelfInfoParams { nickName?: string; avatar?: string; } export interface IGenerateCallEndDataParams { roomId?: number; callMediaType?: CALL_TYPE; callRole?: CALL_ROLE; totalTime?: number; userId?: string; } export interface ITRTCRenderParams { userID?: string; objectFit?: string; muted?: boolean; mirror?: boolean; } export interface IOnCallEndData { roomID: number; callMediaType: CALL_TYPE; callRole: CALL_ROLE; callEnd?: number; totalTime: number; userID: string; } export interface ITRTCClientOptions { sdkAppID: number; userID: string; userSig: string; tuiCallEngine: any; assetsPath?: string; } export interface IPlayVideoOptions { objectFit?: string; muted?: boolean; mirror?: boolean; } export interface IPlayVideoParams { domID: string; type: 'local' | 'remote'; userID: string; options?: IPlayVideoOptions; } export interface IStopVideoParams { type: 'local' | 'remote'; userID: string; } export interface IStartViewParam { userID: string; videoViewDomID: string; options?: IPlayVideoOptions; } export interface IHangupParams { userIDList: string[]; callType: CALL_TYPE; callEnd?: number; } export interface IInviteeAcceptedParams { name: string; data: { invitee: string; inviteID: string; inviter: string; groupID: string; data: string; }; } export interface ITSignalClientOptions { SDKAppID: number; tim?: any; isRejectNotifyAll?: boolean; } export interface IInvitationReceivedParams { data: { inviter: string; inviteeList: string[]; data: string; inviteID: string; groupID: string; inCallUserIDs: string[]; }; } export interface IInviteeRejectedParams { data: { inviteID: string; inviter: string; groupID: string; invitee: string; data: string; }; } export interface IInvitationCancelledParams { data: { inviteID: string; inviter: string; groupID: string; data: string; }; } export interface InvitationTimeoutParams { data: { inviter: string; inviteeList: string[]; inviteID: string; groupID: string; isSelfTimeout: boolean; }; } export interface ILoginParams { userID: string; userSig: string; assetsPath?: string; } export interface IInviteParams { userID: string; type: CALL_TYPE; roomId: number; strRoomId: string; timeout: number; offlinePushInfo?: OfflinePushInfo; userIDList?: string[]; userData?: string; } export interface IInviteInGroupParams { groupID: string; userIDList: string[]; roomID: number; strRoomId: string; type: CALL_TYPE; timeout: number; inCallUserIDs?: string[]; offlinePushInfo?: OfflinePushInfo; userData?: string; } export interface IAcceptParams { inviteID: string; callType: CALL_TYPE; switch_to_audio_call?: string; } export interface IRejectParams { inviteID: string; callType: CALL_TYPE; isBusy: boolean; } export interface ICancelParams { inviteID: string; } export interface ISwitchParams { userID: string; callType: CALL_TYPE; roomID: number; timeout: number; mode: MODE_TYPE; }