import { NamedMediaGroup } from '@webex/internal-media-core'; import { RemoteMedia, RemoteVideoResolution } from './remoteMedia'; import { MediaRequestManager } from './mediaRequestManager'; import { CSI, ReceiveSlot } from './receiveSlot'; type Options = { resolution?: RemoteVideoResolution; preferLiveVideo?: boolean; namedMediaGroup?: NamedMediaGroup; }; export declare class RemoteMediaGroup { private mediaRequestManager; private priority; private options; private unpinnedRemoteMedia; private mediaRequestId?; private pinnedRemoteMedia; constructor(mediaRequestManager: MediaRequestManager, receiveSlots: ReceiveSlot[], priority: number, commitMediaRequest: boolean, options?: Options); /** * Gets the array of remote media elements from the group * * @param {string} filter - 'all' (default) returns both pinned and unpinned * @returns {Array} */ getRemoteMedia(filter?: 'all' | 'pinned' | 'unpinned'): RemoteMedia[]; /** * Pins a specific remote media instance to a specfic CSI, so the media will * no longer come from active speaker, but from that CSI. * If no CSI is given, the current CSI value is used. * */ pin(remoteMedia: RemoteMedia, csi?: CSI): void; /** * Unpins a remote media instance, so that it will again provide media from active speakers * */ unpin(remoteMedia: RemoteMedia): void; isPinned(remoteMedia: RemoteMedia): boolean; private sendActiveSpeakerMediaRequest; private cancelActiveSpeakerMediaRequest; /** * Checks if a given RemoteMedia instance belongs to this group. * * @param remoteMedia RemoteMedia instance to check * @param filter controls which remote media from the group to check * @returns true if remote media is found */ includes(remoteMedia: RemoteMedia, filter?: 'all' | 'pinned' | 'unpinned'): boolean; /** * Calculate the effective maxFs for the active speaker media request based on unpinned RemoteMedia instances * @returns {number | undefined} The calculated maxFs value, or undefined if no constraints * @private */ private getEffectiveMaxFsForActiveSpeaker; /** * Get the current effective maxFs that would be used for the active speaker media request * @returns {number | undefined} The effective maxFs value */ getEffectiveMaxFs(): number | undefined; } export {};