import { PartialDeep } from 'type-fest';
import { YySprite } from './YySprite.js';
export declare function ensureTrackKeyFrames(sprite: PartialDeep<YySprite, {
    recurseIntoArrays: true;
}>): {
    name?: string | undefined;
    parent?: {
        name?: string | undefined;
        path?: string | undefined;
    } | undefined;
    resourceVersion?: string | undefined;
    bboxMode?: import("./YySprite.js").SpriteBoundingBoxMode | undefined;
    collisionKind?: import("./YySprite.js").SpriteCollisionKind | undefined;
    type?: import("./YySprite.js").SpriteType | undefined;
    origin?: import("./YySprite.js").SpriteOrigin | undefined;
    preMultiplyAlpha?: boolean | undefined;
    edgeFiltering?: boolean | undefined;
    collisionTolerance?: number | undefined;
    swfPrecision?: number | undefined;
    bbox_left?: number | undefined;
    bbox_right?: number | undefined;
    bbox_top?: number | undefined;
    bbox_bottom?: number | undefined;
    HTile?: boolean | undefined;
    VTile?: boolean | undefined;
    For3D?: boolean | undefined;
    DynamicTexturePage?: boolean | undefined;
    width?: number | undefined;
    height?: number | undefined;
    textureGroupId?: {
        name?: string | undefined;
        path?: string | undefined;
    } | undefined;
    swatchColours?: unknown;
    gridX?: number | undefined;
    gridY?: number | undefined;
    frames?: {
        name?: string | undefined;
        resourceType?: "GMSpriteFrame" | undefined;
        resourceVersion?: string | undefined;
        tags?: string[] | undefined;
        compositeImage?: {
            FrameId?: {
                name?: string | undefined;
                path?: string | undefined;
            } | undefined;
            resourceVersion?: "1.0" | undefined;
            name?: string | undefined;
            resourceType?: "GMSpriteBitmap" | undefined;
            LayerId?: null | undefined;
            tags?: string[] | undefined;
        } | undefined;
        images?: {
            FrameId?: {
                name?: string | undefined;
                path?: string | undefined;
            } | undefined;
            resourceVersion?: "1.0" | undefined;
            name?: string | undefined;
            resourceType?: "GMSpriteBitmap" | undefined;
            LayerId?: {
                name?: string | undefined;
                path?: string | undefined;
            } | undefined;
            tags?: string[] | undefined;
        }[] | undefined;
        parent?: {
            name?: string | undefined;
            path?: string | undefined;
        } | undefined;
    }[] | undefined;
    sequence?: {
        timeUnits?: number | undefined;
        playback?: number | undefined;
        playbackSpeed?: {
            readonly digits?: number;
            toString?: (() => string) | undefined;
            toJSON?: (() => number) | undefined;
            [Symbol.toPrimitive]?: {
                (hint: "number" | "default"): number;
                (hint: "string"): string;
            } | undefined;
            toFixed?: ((fractionDigits?: number) => string) | undefined;
            toExponential?: ((fractionDigits?: number) => string) | undefined;
            toPrecision?: ((precision?: number) => string) | undefined;
            valueOf?: (() => number) | undefined;
            toLocaleString?: {
                (locales?: string | string[], options?: Intl.NumberFormatOptions): string;
                (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string;
            } | undefined;
        } | undefined;
        playbackSpeedType?: import("./YySprite.js").SpritePlaybackSpeedType | undefined;
        autoRecord?: boolean | undefined;
        volume?: {
            readonly digits?: number;
            toString?: (() => string) | undefined;
            toJSON?: (() => number) | undefined;
            [Symbol.toPrimitive]?: {
                (hint: "number" | "default"): number;
                (hint: "string"): string;
            } | undefined;
            toFixed?: ((fractionDigits?: number) => string) | undefined;
            toExponential?: ((fractionDigits?: number) => string) | undefined;
            toPrecision?: ((precision?: number) => string) | undefined;
            valueOf?: (() => number) | undefined;
            toLocaleString?: {
                (locales?: string | string[], options?: Intl.NumberFormatOptions): string;
                (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string;
            } | undefined;
        } | undefined;
        length?: {
            readonly digits?: number;
            toString?: (() => string) | undefined;
            toJSON?: (() => number) | undefined;
            [Symbol.toPrimitive]?: {
                (hint: "number" | "default"): number;
                (hint: "string"): string;
            } | undefined;
            toFixed?: ((fractionDigits?: number) => string) | undefined;
            toExponential?: ((fractionDigits?: number) => string) | undefined;
            toPrecision?: ((precision?: number) => string) | undefined;
            valueOf?: (() => number) | undefined;
            toLocaleString?: {
                (locales?: string | string[], options?: Intl.NumberFormatOptions): string;
                (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string;
            } | undefined;
        } | undefined;
        visibleRange?: {
            x?: {
                readonly digits?: number;
                toString?: (() => string) | undefined;
                toJSON?: (() => number) | undefined;
                [Symbol.toPrimitive]?: {
                    (hint: "number" | "default"): number;
                    (hint: "string"): string;
                } | undefined;
                toFixed?: ((fractionDigits?: number) => string) | undefined;
                toExponential?: ((fractionDigits?: number) => string) | undefined;
                toPrecision?: ((precision?: number) => string) | undefined;
                valueOf?: (() => number) | undefined;
                toLocaleString?: {
                    (locales?: string | string[], options?: Intl.NumberFormatOptions): string;
                    (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string;
                } | undefined;
            } | undefined;
            y?: {
                readonly digits?: number;
                toString?: (() => string) | undefined;
                toJSON?: (() => number) | undefined;
                [Symbol.toPrimitive]?: {
                    (hint: "number" | "default"): number;
                    (hint: "string"): string;
                } | undefined;
                toFixed?: ((fractionDigits?: number) => string) | undefined;
                toExponential?: ((fractionDigits?: number) => string) | undefined;
                toPrecision?: ((precision?: number) => string) | undefined;
                valueOf?: (() => number) | undefined;
                toLocaleString?: {
                    (locales?: string | string[], options?: Intl.NumberFormatOptions): string;
                    (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string;
                } | undefined;
            } | undefined;
        } | null | undefined;
        lockOrigin?: boolean | undefined;
        showBackdrop?: boolean | undefined;
        showBackdropImage?: boolean | undefined;
        backdropImagePath?: string | undefined;
        backdropImageOpacity?: {
            readonly digits?: number;
            toString?: (() => string) | undefined;
            toJSON?: (() => number) | undefined;
            [Symbol.toPrimitive]?: {
                (hint: "number" | "default"): number;
                (hint: "string"): string;
            } | undefined;
            toFixed?: ((fractionDigits?: number) => string) | undefined;
            toExponential?: ((fractionDigits?: number) => string) | undefined;
            toPrecision?: ((precision?: number) => string) | undefined;
            valueOf?: (() => number) | undefined;
            toLocaleString?: {
                (locales?: string | string[], options?: Intl.NumberFormatOptions): string;
                (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string;
            } | undefined;
        } | undefined;
        backdropWidth?: number | undefined;
        backdropHeight?: number | undefined;
        backdropXOffset?: {
            readonly digits?: number;
            toString?: (() => string) | undefined;
            toJSON?: (() => number) | undefined;
            [Symbol.toPrimitive]?: {
                (hint: "number" | "default"): number;
                (hint: "string"): string;
            } | undefined;
            toFixed?: ((fractionDigits?: number) => string) | undefined;
            toExponential?: ((fractionDigits?: number) => string) | undefined;
            toPrecision?: ((precision?: number) => string) | undefined;
            valueOf?: (() => number) | undefined;
            toLocaleString?: {
                (locales?: string | string[], options?: Intl.NumberFormatOptions): string;
                (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string;
            } | undefined;
        } | undefined;
        backdropYOffset?: {
            readonly digits?: number;
            toString?: (() => string) | undefined;
            toJSON?: (() => number) | undefined;
            [Symbol.toPrimitive]?: {
                (hint: "number" | "default"): number;
                (hint: "string"): string;
            } | undefined;
            toFixed?: ((fractionDigits?: number) => string) | undefined;
            toExponential?: ((fractionDigits?: number) => string) | undefined;
            toPrecision?: ((precision?: number) => string) | undefined;
            valueOf?: (() => number) | undefined;
            toLocaleString?: {
                (locales?: string | string[], options?: Intl.NumberFormatOptions): string;
                (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string;
            } | undefined;
        } | undefined;
        xorigin?: number | undefined;
        yorigin?: number | undefined;
        eventToFunction?: unknown;
        eventStubScript?: unknown;
        resourceType?: "GMSequence" | undefined;
        resourceVersion?: string | undefined;
        events?: {
            Keyframes?: unknown[] | undefined;
            resourceVersion?: string | undefined;
            resourceType?: "KeyframeStore<MessageEventKeyframe>" | undefined;
        } | {
            Keyframes?: unknown[] | undefined;
            resourceVersion?: string | undefined;
            resourceType?: "KeyframeStore`1" | undefined;
            elementType?: "MessageEventKeyframe" | undefined;
        } | undefined;
        moments?: {
            Keyframes?: unknown[] | undefined;
            resourceVersion?: string | undefined;
            resourceType?: "KeyframeStore<MomentsEventKeyframe>" | undefined;
        } | {
            Keyframes?: unknown[] | undefined;
            resourceVersion?: string | undefined;
            resourceType?: "KeyframeStore`1" | undefined;
            elementType?: "MomentsEventKeyframe" | undefined;
        } | undefined;
        tracks?: {
            name?: string | undefined;
            spriteId?: unknown;
            trackColour?: number | undefined;
            inheritsTrackColour?: boolean | undefined;
            builtinName?: number | undefined;
            traits?: number | undefined;
            interpolation?: number | undefined;
            tracks?: unknown[] | undefined;
            events?: unknown[] | undefined;
            modifiers?: unknown[] | undefined;
            isCreationTrack?: boolean | undefined;
            resourceVersion?: string | undefined;
            resourceType?: "GMSpriteFramesTrack" | undefined;
            keyframes?: {
                Keyframes?: ({
                    id?: string | undefined;
                    Key?: {
                        readonly digits?: number;
                        toString?: (() => string) | undefined;
                        toJSON?: (() => number) | undefined;
                        [Symbol.toPrimitive]?: {
                            (hint: "number" | "default"): number;
                            (hint: "string"): string;
                        } | undefined;
                        toFixed?: ((fractionDigits?: number) => string) | undefined;
                        toExponential?: ((fractionDigits?: number) => string) | undefined;
                        toPrecision?: ((precision?: number) => string) | undefined;
                        valueOf?: (() => number) | undefined;
                        toLocaleString?: {
                            (locales?: string | string[], options?: Intl.NumberFormatOptions): string;
                            (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string;
                        } | undefined;
                    } | undefined;
                    Length?: {
                        readonly digits?: number;
                        toString?: (() => string) | undefined;
                        toJSON?: (() => number) | undefined;
                        [Symbol.toPrimitive]?: {
                            (hint: "number" | "default"): number;
                            (hint: "string"): string;
                        } | undefined;
                        toFixed?: ((fractionDigits?: number) => string) | undefined;
                        toExponential?: ((fractionDigits?: number) => string) | undefined;
                        toPrecision?: ((precision?: number) => string) | undefined;
                        valueOf?: (() => number) | undefined;
                        toLocaleString?: {
                            (locales?: string | string[], options?: Intl.NumberFormatOptions): string;
                            (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string;
                        } | undefined;
                    } | undefined;
                    Stretch?: boolean | undefined;
                    Disabled?: boolean | undefined;
                    IsCreationKey?: boolean | undefined;
                    Channels?: {
                        [x: string]: {
                            Id?: {
                                name?: string | undefined;
                                path?: string | undefined;
                            } | undefined;
                            resourceVersion?: string | undefined;
                            resourceType?: "SpriteFrameKeyframe" | undefined;
                        } | undefined;
                    } | undefined;
                    resourceVersion?: string | undefined;
                    resourceType?: "Keyframe`1" | undefined;
                    elementType?: "SpriteFrameKeyframe" | undefined;
                } | {
                    id?: string | undefined;
                    Key?: {
                        readonly digits?: number;
                        toString?: (() => string) | undefined;
                        toJSON?: (() => number) | undefined;
                        [Symbol.toPrimitive]?: {
                            (hint: "number" | "default"): number;
                            (hint: "string"): string;
                        } | undefined;
                        toFixed?: ((fractionDigits?: number) => string) | undefined;
                        toExponential?: ((fractionDigits?: number) => string) | undefined;
                        toPrecision?: ((precision?: number) => string) | undefined;
                        valueOf?: (() => number) | undefined;
                        toLocaleString?: {
                            (locales?: string | string[], options?: Intl.NumberFormatOptions): string;
                            (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string;
                        } | undefined;
                    } | undefined;
                    Length?: {
                        readonly digits?: number;
                        toString?: (() => string) | undefined;
                        toJSON?: (() => number) | undefined;
                        [Symbol.toPrimitive]?: {
                            (hint: "number" | "default"): number;
                            (hint: "string"): string;
                        } | undefined;
                        toFixed?: ((fractionDigits?: number) => string) | undefined;
                        toExponential?: ((fractionDigits?: number) => string) | undefined;
                        toPrecision?: ((precision?: number) => string) | undefined;
                        valueOf?: (() => number) | undefined;
                        toLocaleString?: {
                            (locales?: string | string[], options?: Intl.NumberFormatOptions): string;
                            (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string;
                        } | undefined;
                    } | undefined;
                    Stretch?: boolean | undefined;
                    Disabled?: boolean | undefined;
                    IsCreationKey?: boolean | undefined;
                    Channels?: {
                        [x: string]: {
                            Id?: {
                                name?: string | undefined;
                                path?: string | undefined;
                            } | undefined;
                            resourceVersion?: string | undefined;
                            resourceType?: "SpriteFrameKeyframe" | undefined;
                        } | undefined;
                    } | undefined;
                    resourceVersion?: string | undefined;
                    resourceType?: "Keyframe<SpriteFrameKeyframe>" | undefined;
                })[] | undefined;
                resourceVersion?: string | undefined;
                resourceType?: "KeyframeStore<SpriteFrameKeyframe>" | undefined;
            } | {
                Keyframes?: ({
                    id?: string | undefined;
                    Key?: {
                        readonly digits?: number;
                        toString?: (() => string) | undefined;
                        toJSON?: (() => number) | undefined;
                        [Symbol.toPrimitive]?: {
                            (hint: "number" | "default"): number;
                            (hint: "string"): string;
                        } | undefined;
                        toFixed?: ((fractionDigits?: number) => string) | undefined;
                        toExponential?: ((fractionDigits?: number) => string) | undefined;
                        toPrecision?: ((precision?: number) => string) | undefined;
                        valueOf?: (() => number) | undefined;
                        toLocaleString?: {
                            (locales?: string | string[], options?: Intl.NumberFormatOptions): string;
                            (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string;
                        } | undefined;
                    } | undefined;
                    Length?: {
                        readonly digits?: number;
                        toString?: (() => string) | undefined;
                        toJSON?: (() => number) | undefined;
                        [Symbol.toPrimitive]?: {
                            (hint: "number" | "default"): number;
                            (hint: "string"): string;
                        } | undefined;
                        toFixed?: ((fractionDigits?: number) => string) | undefined;
                        toExponential?: ((fractionDigits?: number) => string) | undefined;
                        toPrecision?: ((precision?: number) => string) | undefined;
                        valueOf?: (() => number) | undefined;
                        toLocaleString?: {
                            (locales?: string | string[], options?: Intl.NumberFormatOptions): string;
                            (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string;
                        } | undefined;
                    } | undefined;
                    Stretch?: boolean | undefined;
                    Disabled?: boolean | undefined;
                    IsCreationKey?: boolean | undefined;
                    Channels?: {
                        [x: string]: {
                            Id?: {
                                name?: string | undefined;
                                path?: string | undefined;
                            } | undefined;
                            resourceVersion?: string | undefined;
                            resourceType?: "SpriteFrameKeyframe" | undefined;
                        } | undefined;
                    } | undefined;
                    resourceVersion?: string | undefined;
                    resourceType?: "Keyframe`1" | undefined;
                    elementType?: "SpriteFrameKeyframe" | undefined;
                } | {
                    id?: string | undefined;
                    Key?: {
                        readonly digits?: number;
                        toString?: (() => string) | undefined;
                        toJSON?: (() => number) | undefined;
                        [Symbol.toPrimitive]?: {
                            (hint: "number" | "default"): number;
                            (hint: "string"): string;
                        } | undefined;
                        toFixed?: ((fractionDigits?: number) => string) | undefined;
                        toExponential?: ((fractionDigits?: number) => string) | undefined;
                        toPrecision?: ((precision?: number) => string) | undefined;
                        valueOf?: (() => number) | undefined;
                        toLocaleString?: {
                            (locales?: string | string[], options?: Intl.NumberFormatOptions): string;
                            (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string;
                        } | undefined;
                    } | undefined;
                    Length?: {
                        readonly digits?: number;
                        toString?: (() => string) | undefined;
                        toJSON?: (() => number) | undefined;
                        [Symbol.toPrimitive]?: {
                            (hint: "number" | "default"): number;
                            (hint: "string"): string;
                        } | undefined;
                        toFixed?: ((fractionDigits?: number) => string) | undefined;
                        toExponential?: ((fractionDigits?: number) => string) | undefined;
                        toPrecision?: ((precision?: number) => string) | undefined;
                        valueOf?: (() => number) | undefined;
                        toLocaleString?: {
                            (locales?: string | string[], options?: Intl.NumberFormatOptions): string;
                            (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string;
                        } | undefined;
                    } | undefined;
                    Stretch?: boolean | undefined;
                    Disabled?: boolean | undefined;
                    IsCreationKey?: boolean | undefined;
                    Channels?: {
                        [x: string]: {
                            Id?: {
                                name?: string | undefined;
                                path?: string | undefined;
                            } | undefined;
                            resourceVersion?: string | undefined;
                            resourceType?: "SpriteFrameKeyframe" | undefined;
                        } | undefined;
                    } | undefined;
                    resourceVersion?: string | undefined;
                    resourceType?: "Keyframe<SpriteFrameKeyframe>" | undefined;
                })[] | undefined;
                resourceVersion?: string | undefined;
                resourceType?: "KeyframeStore`1" | undefined;
                elementType?: "SpriteFrameKeyframe" | undefined;
            } | undefined;
            tags?: string[] | undefined;
        }[] | undefined;
        name?: string | undefined;
        tags?: string[] | undefined;
        spriteId?: {
            name?: string | undefined;
            path?: string | undefined;
        } | undefined;
        parent?: {
            name?: string | undefined;
            path?: string | undefined;
        } | undefined;
    } | undefined;
    layers?: ({
        visible?: boolean | undefined;
        isLocked?: boolean | undefined;
        blendMode?: import("./YySprite.js").SpriteLayerBlendMode | undefined;
        opacity?: {
            readonly digits?: number;
            toString?: (() => string) | undefined;
            toJSON?: (() => number) | undefined;
            [Symbol.toPrimitive]?: {
                (hint: "number" | "default"): number;
                (hint: "string"): string;
            } | undefined;
            toFixed?: ((fractionDigits?: number) => string) | undefined;
            toExponential?: ((fractionDigits?: number) => string) | undefined;
            toPrecision?: ((precision?: number) => string) | undefined;
            valueOf?: (() => number) | undefined;
            toLocaleString?: {
                (locales?: string | string[], options?: Intl.NumberFormatOptions): string;
                (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string;
            } | undefined;
        } | undefined;
        displayName?: string | undefined;
        resourceVersion?: string | undefined;
        name?: string | undefined;
        resourceType?: "GMImageLayer" | undefined;
        tags?: string[] | undefined;
    } | {
        resourceType?: "GMImageFolderLayer" | undefined;
        resourceVersion?: string | undefined;
        name?: string | undefined;
        blendMode?: import("./YySprite.js").SpriteLayerBlendMode | undefined;
        displayName?: string | undefined;
        isLocked?: boolean | undefined;
        opacity?: {
            readonly digits?: number;
            toString?: (() => string) | undefined;
            toJSON?: (() => number) | undefined;
            [Symbol.toPrimitive]?: {
                (hint: "number" | "default"): number;
                (hint: "string"): string;
            } | undefined;
            toFixed?: ((fractionDigits?: number) => string) | undefined;
            toExponential?: ((fractionDigits?: number) => string) | undefined;
            toPrecision?: ((precision?: number) => string) | undefined;
            valueOf?: (() => number) | undefined;
            toLocaleString?: {
                (locales?: string | string[], options?: Intl.NumberFormatOptions): string;
                (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string;
            } | undefined;
        } | undefined;
        visible?: boolean | undefined;
        layers?: {
            visible?: boolean | undefined;
            isLocked?: boolean | undefined;
            blendMode?: import("./YySprite.js").SpriteLayerBlendMode | undefined;
            opacity?: {
                readonly digits?: number;
                toString?: (() => string) | undefined;
                toJSON?: (() => number) | undefined;
                [Symbol.toPrimitive]?: {
                    (hint: "number" | "default"): number;
                    (hint: "string"): string;
                } | undefined;
                toFixed?: ((fractionDigits?: number) => string) | undefined;
                toExponential?: ((fractionDigits?: number) => string) | undefined;
                toPrecision?: ((precision?: number) => string) | undefined;
                valueOf?: (() => number) | undefined;
                toLocaleString?: {
                    (locales?: string | string[], options?: Intl.NumberFormatOptions): string;
                    (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string;
                } | undefined;
            } | undefined;
            displayName?: string | undefined;
            resourceVersion?: string | undefined;
            name?: string | undefined;
            resourceType?: "GMImageLayer" | undefined;
            tags?: string[] | undefined;
        }[] | undefined;
    })[] | undefined;
    resourceType?: "GMSprite" | undefined;
    nineSlice?: unknown;
    "%Name"?: string | undefined;
    ConfigValues?: {
        [x: string]: {
            [x: string]: string | undefined;
        } | undefined;
    } | undefined;
    tags?: string[] | undefined;
};
//# sourceMappingURL=YySprite.lib.d.ts.map