import type { Eq, PartialOrd } from '../utils/Types'; import TargetDisplaySize from './TargetDisplaySize'; import VideoQualityAdaptationPreference from './VideoQualityAdaptationPreference'; export default class VideoPreference implements Eq, PartialOrd { attendeeId: string; priority: number; /** * The desired maximum simulcast layers to receive. */ targetSize: TargetDisplaySize; /** * The preference on how to select between resolution and framerate on network constraint. * * This preference will have no effect unless the sender is encoding in a way such that there * are both variable framerate and resolution options available. */ degradationPreference: VideoQualityAdaptationPreference; /** Initializes a [[VideoPreference]] with the given properties. * * @param attendeeId Attendee ID of the client * @param priority The relative priority of this attendee against others. * @param targetSize The desired maximum simulcast layers to receive. * @param degradationPreference The preference on how to select between resolution and framerate on network constraint */ constructor(attendeeId: string, priority: number, targetSize?: TargetDisplaySize, degradationPreference?: VideoQualityAdaptationPreference); partialCompare(other: this): number; equals(other: this): boolean; clone(): VideoPreference; private static readonly LOW_BITRATE_KBPS; private static readonly MID_BITRATE_KBPS; private static readonly HIGH_BITRATE_KBPS; private static readonly MAXIMUM_BITRATE_KBPS; targetSizeToBitrateKbps(targetSize: TargetDisplaySize): number; }