import { AgoraRteMediaStream, AgoraRteUser } from '../struct'; import { Immutable } from '../../../imports'; import { AgoraRteReturnCode } from '../../../constant'; import { AgoraRteStreamLayer } from '../../../type'; import { AgoraRteExDataSyncType, AgoraRteExDataSyncTypeInfo } from '../type'; export type AgoraRteDataLayer = 'layerA' | 'layerB'; export declare class AgoraRteSyncDataStore { protected logger: import("agora-foundation/lib/logger/type").Logger; private _userCount; private _userCountByRole; private _layerA; private _layerB; private _streamLayerConfigs; private _roomProperties; /** ExDataSyncType 列表(本地用户的 LayerB 同步类型状态)*/ private _localExDataSyncTypes; private _isLayerBVisible; private _getLayer; private _getVisibleUsers; private _getVisibleStreams; get users(): Immutable.Map; getUsersByLayer(layer: AgoraRteDataLayer): Immutable.Map; setUsersByLayer(layer: AgoraRteDataLayer, users: Record): number; setUsers(users: Record): number; setUserByLayer(layer: AgoraRteDataLayer, key: string, user: AgoraRteUser): number; setUser(key: string, user: AgoraRteUser): number; deleteUserByLayer(layer: AgoraRteDataLayer, key: string): number; deleteUser(key: string): number; findUserByLayer(layer: AgoraRteDataLayer, userUuid: string): AgoraRteUser | undefined; findUser(userUuid: string): AgoraRteUser | undefined; get roomProperties(): Record; setRoomProperties(roomProperties: Record): void; get streams(): Immutable.Map; getStreamsByLayer(layer: AgoraRteDataLayer): Immutable.Map; setStreamsByLayer(layer: AgoraRteDataLayer, streams: Record): number; setStreams(streams: Record): number; findUserStreamsByLayer(layer: AgoraRteDataLayer, userId: string): AgoraRteMediaStream[]; findUserStreams(userId: string): AgoraRteMediaStream[]; setStreamByLayer(layer: AgoraRteDataLayer, key: string, stream: AgoraRteMediaStream): number; setStream(key: string, stream: AgoraRteMediaStream): number; deleteStreamByLayer(layer: AgoraRteDataLayer, key: string): number; deleteStream(key: string): number; deleteStreamsByLayer(layer: AgoraRteDataLayer, keys: string[]): number; deleteStreams(keys: string[]): number; findStreamByLayer(layer: AgoraRteDataLayer, streamUuid: string): AgoraRteMediaStream | undefined; findStream(streamUuid: string): AgoraRteMediaStream | undefined; setStreamLayerConfigs(streamLayerConfigs: Record): AgoraRteReturnCode; setStreamLayerConfig(key: string, streamLayerConfig: AgoraRteStreamLayer): AgoraRteReturnCode; deleteStreamLayerConfig(key: string): AgoraRteReturnCode; getPublishStreamLayersByStreamId(key: string): number; get userCount(): number; setUserCount(userCount: number): void; getLocalExDataSyncTypeList(): AgoraRteExDataSyncTypeInfo[]; addLocalExDataSyncType(info: AgoraRteExDataSyncTypeInfo): void; removeLocalExDataSyncType(type: AgoraRteExDataSyncType): void; setLocalExDataSyncTypeList(list: AgoraRteExDataSyncTypeInfo[]): void; clearLayer(layer: AgoraRteDataLayer): void; getUserCountByRole(role: string): number; setUserCountByRole(role: string, count: number): void; clearUserCountByRole(): void; getUserListByRole(role: string): AgoraRteUser[]; getRoomPropertiesDeepCloneByKeyPath(keyPath: string): unknown; getUserPropertiesDeepCloneByKeyPath(userId: string, keyPath: string): unknown; }