import { OnCongestionCallback } from '../codec/Types'; import { SharingStatReport } from './SharingStatReport'; export default class ScreenCongestionControl { private readonly _onCongestion; private readonly _ccEnabled; private readonly _fastSharing; private readonly _trendDelayThreshold; private readonly _highDelayThreshold; private readonly _targetFps; private _minBitrate; private _maxBitrate; private _targetBitrate; private _lastDown; private _lastUp; private _lastProbing; private _lastCheckDelay; private _upPenalty; private _probing; private _delayAvgShort; private _delayAvgLong; private _minDelay; private _maxDelay; private _largeDelayDuration; private _lastFpsCalcMs; private _frames; private _fps; constructor(onCongestion: OnCongestionCallback, minBitrate: number, maxBitrate: number, ccEnabled: boolean, fastSharing: boolean, delayThreshold: number, targetFps: number); checkDelay(frameNum: number, delay: number, bitrateK: number): void; private _setBitrate; private _calcDelay; reconfigure(minBitrate: number, maxBitrate: number): void; getStat(): SharingStatReport | null; private _calcFps; }