import { AgoraObservable } from '../../imports'; import { AgoraRteAudioSourceType, AgoraRteMediaSourceState, AgoraRteVideoSourceType } from '../../type'; import { AgoraRteMessageHandle } from '../processor/message-handler'; import { AgoraRteExDataSyncTypeInfo } from '../processor/type'; import { AgoraRteLocalUserImpl } from './local-user'; import { AgoraRteStreamPlayer } from './stream-player'; import { AgoraRteMediaStreamInfo, AgoraRteScene, AgoraRteSceneInfo, AgoraRteSceneInitOptions, AgoraRteSceneInternalObserver, AgoraRteSceneJoinOptions, AgoraRteSceneJoinSnapshotOptions, AgoraRteUserInfo, AgoraRteUserPageParams, AgoraRteUserPageResponse } from './type'; export declare class AgoraRteSceneImpl implements AgoraRteScene { protected logger: import("agora-foundation/lib/logger/type").Logger; protected observable: AgoraObservable; private _sceneId; private _localUserId; private _screenStreamLabelMap; private _sceneInfo?; private _localUser?; private _streamPlayer?; private _userToken?; private _apiService; private _rtmClient; private _rtcClient; private _apDetector; private _rtmChannelClients; private _rtcChannelClient?; private _stateSynchronizer?; private _messageSynchronizer?; private _rtcChannelConnectionState; private _timestampGap; private _totalUserCount; private _cleanupPromise; private _initialApiService; private _joinManager; private _abortManager; private _roomToken; private _rtmObserver; private _messageHandlerObservers; private _streamPlayerObservers; private _rtcChannelObserver; get sceneId(): string; get localUser(): AgoraRteLocalUserImpl; get streamPlayer(): AgoraRteStreamPlayer; get messageSynchronizer(): AgoraRteMessageHandle; constructor(sceneId: string, options: AgoraRteSceneInitOptions); join(options: AgoraRteSceneJoinOptions): Promise; joinWithSnapshot(options: AgoraRteSceneJoinSnapshotOptions): Promise; leave(): void; getSceneInfo(): AgoraRteSceneInfo; getLocalUser(): AgoraRteLocalUserImpl; getUsers(): { [key: string]: AgoraRteUserInfo; }; getUserList(): AgoraRteUserInfo[]; getUser(userId: string): AgoraRteUserInfo | undefined; getUserCount(): number; /** 3.10.0: 获取本地 ExDataSyncType 列表 */ getLocalExDataSyncTypeList(): AgoraRteExDataSyncTypeInfo[]; /** 3.10.0: 按角色获取用户列表 */ getUserListByRole(userRole: string): AgoraRteUserInfo[]; /** 3.10.0: 按角色获取用户计数 */ getUserCountByRole(role: string): number; fetchUserList(params: AgoraRteUserPageParams): Promise; addLocalStreamLabels(streamId: string, labels: Map): void; removeLocalStreamLabel(streamId: string): void; /** * Get all streams in scene, return as object * @returns {Record} all streams in scene */ getStreams(): Record; getStreamList(): AgoraRteMediaStreamInfo[]; getStreamsByUserId(userId: string): AgoraRteMediaStreamInfo[]; getStreamByStreamId(streamId: string): AgoraRteMediaStreamInfo | undefined; getSceneProperties(): Record; getScenePropertiesByKeyPath(keyPath: string): T; getUserProperties(): Record; getUserPropertiesByUserId(userId: string): Record | undefined; getUserPropertiesByKeyPath(keyPath: string, userId: string): T; getSessionId(): string; getSyncTimestamp(): number; addObserver(observer: AgoraRteSceneInternalObserver): void; removeObserver(observer: AgoraRteSceneInternalObserver): void; onTrackVideoStateUpdated(sourceId: string, sourceType: AgoraRteVideoSourceType, state: AgoraRteMediaSourceState): void; onTrackAudioStateUpdated(sourceId: string, sourceType: AgoraRteAudioSourceType, state: AgoraRteMediaSourceState): void; private _performJoin; private _getEntryRoomData; private _entryRoom; private _handleRtcConnectionStateUpdated; private _leaveRTCChannel; private _leaveRTMChannel; private _handleOnSnapshotUpdated; private _handleOnUserCountUpdated; private _handleOnRemoteUsersAdded; private _handleOnLocalUserAdded; private _handleOnUserUpdated; private _handleOnUserSubscribe; private _handleOnRemoteUsersRemoved; private _handleOnLocalUserRemoved; private _handleOnRoomPropertyUpdated; private _handleOnRoomPropertyDeleted; private _handleOnUserPropertyUpdated; private _handleOnUserPropertyDeleted; private _handleOnUserPropertyListUpdated; private _getPublishStreamLayersByStreamId; private _resolveEffectiveLocalStream; private _processLocalStreams; private _getStreamsWithLocalSourceId; private _checkLocalStreamsState; private _checkCurrentLocalStreamsState; private _handleBrowserOnline; private _bindBrowserNetworkStateEvents; private _unbindBrowserNetworkStateEvents; private _handleOnLocalStreamAdded; private _handleOnLocalStreamUpdated; private _handleOnLocalStreamRemoved; private _handleOnRemoteStreamAdded; private _handleOnRemoteStreamUpdated; private _handleOnRemoteStreamRemoved; private _handleOnTimeStampGapUpdate; private _handleOnCustomChannelMessageRecieved; private _handleOnPublishStreamLayerChanged; private _handleOnSubscribeRemoteVideoLayersChanged; private _handleOnJoinSuccess; private _handleOnJoinFailure; private _cleanup; private _beginCleanup; private _handleOnRtmConnectionStateUpdated; private _checkIfLocalUserIsKickedOut; private _setOnlineState; private _checkMediaSourceState; private _checkLocalStreamBind; private _unbindLocalStream; private _asyncStep1EntryRoom; private _asyncStep2JoinChannels; private _step3InitializeComponents; }