import { MediaType, StreamState } from '@webex/internal-media-core'; import EventsScope from '../common/events/events-scope'; import { MediaRequestManager } from './mediaRequestManager'; import { ReceiveSlot } from './receiveSlot'; export declare const RemoteMediaEvents: { SourceUpdate: string; Stopped: string; }; export type RemoteVideoResolution = 'thumbnail' | 'very small' | 'small' | 'medium' | 'large' | 'best'; export declare const MAX_FS_VALUES: { '90p': number; '180p': number; '360p': number; '540p': number; '720p': number; '1080p': number; }; /** * Converts pane size into h264 maxFs * @param {RemoteVideoResolution} paneSize * @returns {number} */ export declare function getMaxFs(paneSize: RemoteVideoResolution): number; type Options = { resolution?: RemoteVideoResolution; }; export type RemoteMediaId = string; /** * Class representing a remote audio/video stream. * * Internally it is associated with a specific receive slot * and a media request for it. */ export declare class RemoteMedia extends EventsScope { private receiveSlot?; private readonly mediaRequestManager; private readonly options; private mediaRequestId?; readonly id: RemoteMediaId; /** * The max frame size of the media request, used for logging and media requests. * Set by setSizeHint() based on video element dimensions. * When > 0, this value takes precedence over options.resolution in sendMediaRequest(). */ private maxFrameSize; /** * Constructs RemoteMedia instance * * @param receiveSlot * @param mediaRequestManager * @param options */ constructor(receiveSlot: ReceiveSlot, mediaRequestManager: MediaRequestManager, options?: Options); /** * Supply the width and height of the video element * to restrict the requested resolution to this size * @param width width of the video element * @param height height of the video element * @note width/height of 0 will be ignored */ setSizeHint(width: any, height: any): void; /** * Get the current effective maxFs value that would be used in media requests * @returns {number | undefined} The maxFs value, or undefined if no constraints */ getEffectiveMaxFs(): number | undefined; /** * registers event listeners on the receive slot and forwards all the events */ private setupEventListeners; /** * Getter for mediaType */ get mediaType(): MediaType; /** * Getter for memberId */ get memberId(): string; /** * Getter for csi */ get csi(): number; /** * Getter for source state */ get sourceState(): StreamState; /** * Getter for remote media stream */ get stream(): MediaStream; } export {};