import { MediaType, ReceiveSlot as WcmeReceiveSlot, StreamState } from '@webex/internal-media-core'; import EventsScope from '../common/events/events-scope'; export declare const ReceiveSlotEvents: { SourceUpdate: string; MaxFsUpdate: string; }; export type { StreamState } from '@webex/internal-media-core'; export type CSI = number; export type MemberId = string; export type ReceiveSlotId = string; export type FindMemberIdCallback = (csi: CSI) => MemberId | undefined; /** * Class representing a receive slot. A single receive slot is able to receive a single track * for example some participant's main video or audio */ export declare class ReceiveSlot extends EventsScope { #private; private readonly mcReceiveSlot; private readonly findMemberIdCallback; readonly id: ReceiveSlotId; readonly mediaType: MediaType; /** * constructor - don't use it directly, you should always use meeting.receiveSlotManager.allocateSlot() * to create any receive slots * * @param {MediaType} mediaType * @param {ReceiveSlot} mcReceiveSlot * @param {FindMemberIdCallback} findMemberIdCallback callback for finding memberId for given CSI */ constructor(mediaType: MediaType, mcReceiveSlot: WcmeReceiveSlot, findMemberIdCallback: FindMemberIdCallback); /** * Getter for memberId */ get memberId(): string; /** * Getter for csi */ get csi(): number; /** * Set the max frame size for this slot * @param newFs frame size */ setMaxFs(newFs: any): void; /** * Getter for sourceState */ get sourceState(): StreamState; /** * registers event handlers with the underlying ReceiveSlot */ private setupEventListeners; /** Tries to find the member id for this receive slot if it hasn't got one */ findMemberId(): void; /** * @returns {string} a log message used to identify the receive slot */ get logString(): string; /** * The MediaStream object associated with this slot. * * @returns {MediaStream} The MediaStreamTrack. */ get stream(): MediaStream; /** * The underlying WCME receive slot */ get wcmeReceiveSlot(): WcmeReceiveSlot; }