import IDisposable from '../../lang/IDisposable';
import ChannelContext from '../context/ChannelContext';
import FrameTimingInformationContext from '../context/FrameTimingInformationContext';
export default class H264FrameTimingInformationManager implements IDisposable {
    private static readonly MAX_FRAME_TIMING_ENTRIES;
    private readonly _channelContext;
    private readonly _frameTimingInformationContext;
    private readonly _bitstreamDecoder;
    private readonly _frameTimingsByRtpTimestamp;
    private readonly _picturingTimingParsingConfig;
    private readonly _pictureTimingParser;
    private readonly _videoElementDisposables;
    private _currentPlaybackState;
    private _armedVideoFrameCallbackId;
    private readonly _disposables;
    private _disposed;
    constructor(channelContext: ChannelContext, frameTimingInformationContext: FrameTimingInformationContext);
    processFrame(streamId: string, mid: string, trackId: string, frame: RTCEncodedVideoFrame): void;
    dispose(): void;
    private onPictureTimingExtracted;
    private videoFrameCallback;
    private removeFrameTimingsExceedingMaxCapacity;
    private setupVideoEventListeners;
    private armVideoFrameCallback;
}
