import { default as Client } from '../client'; import { IBulkRoster, IRoster, XYBaseModule } from '../../type/index'; declare class RosterManager implements XYBaseModule { private client; private logger; private bulkRosterMap; private rosters; private hiddenRosters; constructor(client: Client); getBulkRosterMap(): Map; getAllRosters(): IRoster[]; getHiddenRosters(): IRoster[]; getRosters(): IRoster[]; /** * 设置隐藏的roster信息 * * @param { IRoster[] } rosters - 隐藏的roster信息 */ setHiddenRosterInfo(rosters: IRoster[]): this; /** * 设置的roster信息 * * @param { IRoster[] } rosters - roster信息 */ setRosterInfo(rosters: IRoster[]): this; destroy(): void; /** * 获取Roster数据 * * @param { string } id - Roster Id * @returns { IRoster | null } - Roster数据 */ getRosterById(id: string): IRoster | null; /** * 判断是否是本地Roster * * @param { string } id - Roster/Layout Id * @returns { boolean } - 是否是本地Roster */ isLocal(id: string): boolean; /** * 获取匹配的rosterId * * @param { { participantId: number }[] } params - participantId * @returns { string[] } - rosterId */ getRosterIdByEndpointId(params: { participantId: number; }[]): string[]; /** * 订阅Roster变更消息 * * @param { IBulkRoster } params - 数据内容 */ setBulkRoster(params: IBulkRoster): void; /** * 根据过滤函数过滤bulkRosterMap,并返回满足条件的值 * * @param { Function } filterFunction - 过滤函数 * @returns { IRoster[] } 满足过滤条件的roster信息 */ filterBulkRosterMap(filterFunction: Function): IRoster[]; private getSelfRoster; /** * 追加新增加的Roster数据 * * @param { IRoster[] } addRosterInfo - 新增Roster列表数据 */ private appendFullRoster; /** * 合并VEP数字人roster信息 * * @param { IRoster[] } rosterInfo - 会议中的roster信息 * @param { IRoster[] } hiddenRosterInfo - 隐藏的roster信息 * @returns { IRoster[] } 合并后的roster信息 */ mergeVepRoster(rosterInfo: IRoster[], hiddenRosterInfo: IRoster[]): IRoster[]; /** * 查找VEP数字人roster信息 * * @returns { IRoster | null } VEP数字人roster信息 */ findVepRoster(): IRoster | undefined; } export default RosterManager;