import { type AudioPropertiesConfig, type IRTCEngine, type NetworkQuality, type onUserJoinedEvent, type onUserLeaveEvent, type UserMessageEvent } from '@volcengine/rtc'; import { RealtimeEventHandler } from './event-handler'; import { type VideoConfig } from '.'; export declare class EngineClient extends RealtimeEventHandler { private engine; private joinUserId; private _AIAnsExtension; private _isSupportVideo; private _videoConfig?; private _streamIndex?; private _roomUserId?; constructor(appId: string, debug?: boolean, isTestEnv?: boolean, isSupportVideo?: boolean, videoConfig?: VideoConfig); bindEngineEvents(): void; removeEventListener(): void; _parseMessage(event: UserMessageEvent): any; handleMessage(event: UserMessageEvent): void; handleEventError(e: unknown): void; handleUserJoin(event: onUserJoinedEvent): void; handleUserLeave(event: onUserLeaveEvent): void; handlePlayerEvent(event: unknown): void; handleNetworkQuality(uplinkNetworkQuality: NetworkQuality, downlinkNetworkQuality: NetworkQuality): void; handleTrackEnded(event: any): void; joinRoom(options: { token: string; roomId: string; uid: string; audioMutedDefault?: boolean; videoOnDefault?: boolean; isAutoSubscribeAudio?: boolean; }): Promise; setAudioInputDevice(deviceId: string): Promise; setAudioOutputDevice(deviceId: string): Promise; setVideoInputDevice(deviceId: string, isAutoCapture?: boolean): Promise; createLocalStream(userId?: string, videoConfig?: VideoConfig): Promise; disconnect(): Promise; changeAudioState(isMicOn: boolean): Promise; changeVideoState(isVideoOn: boolean): Promise; stop(): Promise; sendMessage(message: Record): Promise; enableAudioPropertiesReport(config?: AudioPropertiesConfig): void; handleLocalAudioPropertiesReport(event: any): void; handleRemoteAudioPropertiesReport(event: unknown): void; enableAudioNoiseReduction(): Promise; initAIAnsExtension(): Promise; changeAIAnsExtension(enable: boolean): void; startAudioPlaybackDeviceTest(): Promise; stopAudioPlaybackDeviceTest(): void; getRtcEngine(): IRTCEngine; }