export type Caption = Record<string, {
    is_default: boolean;
    label: string;
    uri: string;
}>;
export type SubClip = {
    captionsURI: Caption;
    crop: {
        height: number;
        width: number;
        x: number;
        y: number;
    };
    frameRate: number;
    id: string;
    label: string;
    muted: boolean;
    playbackSpeed: number;
    recordID: string;
    rotation: number;
    scrubMIME: string;
    scrubURL: string;
    sourceMIME: string;
    sourceURL: string;
    startPosition: number;
    stopPosition: number;
    volume: number;
    vrMode: string;
};
export type Transition = {
    backgroundColor: string;
    duration: string;
    subClipId: string;
};
export type Ratio = {
    description: string;
    height: number;
    label: string;
    width: number;
};
export declare enum ModifiedType {
    Track = "track",
    Transition = "transition"
}
export type FrameData = {
    data: string;
    time: number;
};
export type SpriteData = {
    col: number;
    columns: number;
    frameHeight: number;
    frameWidth: number;
    index: number;
    isLastFrame: boolean;
    row: number;
    rows: number;
    sprite: HTMLCanvasElement;
    time: number;
    x: number;
    y: number;
};
export type CanvasData = {
    columns: number;
    frameHeight: number;
    frameWidth: number;
    rows: number;
    spriteCanvas: HTMLCanvasElement;
    spriteCtx: CanvasRenderingContext2D;
};
export declare enum TimecodeMode {
    Frames = "Frames",
    SMPTE = "SMPTE",
    Standard = "Standard"
}
export type FrameCacheItem = Omit<SpriteData, 'sprite'>;
export type FrameCache = Record<string, FrameCacheItem[]>;
export declare const FRAME_WIDTH = 50;
export declare const SCALE_FACTOR = 0.7;
