import type { Buffer } from "buffer";
import type { BoxHeader, FullBox } from "@isomp4/core";
import { FullBoxEncoding } from "@isomp4/core";
export interface TrackFragmentHeaderBox extends FullBox {
    trackID: number;
    baseDataOffset?: number;
    sampleDescriptionIndex?: number;
    defaultSampleDuration?: number;
    defaultSampleSize?: number;
    defaultSampleFlags?: number;
}
export declare namespace TrackFragmentHeaderBox {
    interface Flags {
        baseDataOffsetPresent: boolean;
        sampleDescriptionIndexPresent: boolean;
        defaultSampleDurationPresent: boolean;
        defaultSampleSizePresent: boolean;
        defaultSampleFlagsPresent: boolean;
        durationIsEmpty: boolean;
        defaultBaseIsMoof: boolean;
    }
    function parseFlags(flags: number): Flags;
}
declare class TrackFragmentHeaderBoxEncoding extends FullBoxEncoding {
    constructor();
    encodingLength(obj: TrackFragmentHeaderBox): number;
    encodeTo(obj: TrackFragmentHeaderBox, buffer: Buffer): number;
    decode(buffer: Buffer, header?: BoxHeader): TrackFragmentHeaderBox | number;
}
export declare const tfhd: TrackFragmentHeaderBoxEncoding;
export {};
