import { VideoCodec } from '../decode/bitstream/codec/VideoCodec';
export type RtpTimestamp = number;
export type Timecode = {
    hours: number | null;
    minutes: number | null;
    seconds: number | null;
    frames: number;
    isFrameDrop: boolean;
};
export type H264DecodedFrameTimingInformation = {
    mid: string;
    trackId: string;
    kind: 'video';
    codec: VideoCodec;
    timecode: Timecode | null;
    sourceTimestamp: Date | null;
    ingestTimestamp: Date | null;
    encodeTimestamp: Date | null;
    transcodeTimestamp: Date | null;
    receiveTimestamp: Date;
    playbackState: 'playing' | 'paused' | 'stalled' | 'ended' | 'error' | 'waiting';
};
export type DecodedFrameTimingInformation = Omit<H264DecodedFrameTimingInformation, 'codec'> & {
    codec: string;
};
export type H264RenderedFrameTimingInformation = H264DecodedFrameTimingInformation & {
    renderTimestamp: Date;
    playbackState: 'playing';
};
export type RenderedFrameTimingInformation = Omit<H264RenderedFrameTimingInformation, 'codec'> & {
    codec: string;
};
