import { z } from 'zod';
import { FixedNumber } from './utility.js';
export declare enum SpriteType {
    Default = 0,
    UNKNOWN1 = 1,
    Spine = 2,
    Svg = 3,
    UNKNOWN4 = 4,
    UNKNOWN5 = 5,
    UNKNOWN6 = 6
}
export declare enum SpriteLayerBlendMode {
    Normal = 0,
    Add = 1,
    Subtract = 2,
    Multiply = 3
}
export declare enum SpriteCollisionKind {
    Precise = 0,
    Rectangle = 1,
    Ellipse = 2,
    Diamond = 3,
    PrecisePerFrame = 4,
    RectangleWithRotation = 5,
    SpineCollisionMesh = 6
}
export declare enum SpriteBoundingBoxMode {
    /** what does this imply about bboxes? */
    Automatic = 0,
    FullImage = 1,
    Manual = 2
}
export declare enum SpriteOrigin {
    TopLeft = 0,
    TopCenter = 1,
    TopRight = 2,
    MiddleLeft = 3,
    MiddleCenter = 4,
    MiddleRight = 5,
    BottomLeft = 6,
    BottomCenter = 7,
    BottomRight = 8,
    Custom = 9
}
export declare enum SpritePlaybackSpeedType {
    FramesPerSecond = 0,
    FramesPerGameFrame = 1
}
export type SpriteImageBase = z.infer<typeof spriteImageBaseSchema>;
declare const spriteImageBaseSchema: z.ZodObject<{
    FrameId: z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, z.core.$strip>;
    resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>;
    name: z.ZodDefault<z.ZodString>;
    /** Seems to always be empty */
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteBitmap">>;
}, z.core.$strip>;
export type SpriteImage = z.infer<typeof spriteImageSchema>;
declare const spriteImageSchema: z.ZodObject<{
    FrameId: z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, z.core.$strip>;
    resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>;
    name: z.ZodDefault<z.ZodString>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteBitmap">>;
    LayerId: z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, z.core.$strip>;
}, z.core.$strip>;
export type SpriteCompositeImage = z.infer<typeof spriteCompositeImageSchema>;
declare const spriteCompositeImageSchema: z.ZodObject<{
    FrameId: z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, z.core.$strip>;
    resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>;
    name: z.ZodDefault<z.ZodString>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteBitmap">>;
    LayerId: z.ZodNull;
}, z.core.$strip>;
export type SpriteFrame = z.input<typeof spriteFrameSchema>;
declare const spriteFrameSchema: z.ZodObject<{
    /**
     * Unique GUID. Matches the name of an image file (+'.png')
     * that sits alongside the .yy file. Also matches a corresponding
     * folder name inside the "layers" folder. The Composite image
     * and each one listed in 'images' all have the same value here
     * for their "FrameId.name" field.
     */
    name: z.ZodDefault<z.ZodString>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteFrame">>;
    /**
     * Image created by flattening layers.
     *
     * Automatically generated by the IDE for resourceVersion 1.0,
     * removed in 1.1.
     */
    compositeImage: z.ZodOptional<z.ZodObject<{
        FrameId: z.ZodObject<{
            name: z.ZodString;
            path: z.ZodString;
        }, z.core.$strip>;
        resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>;
        name: z.ZodDefault<z.ZodString>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
        resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteBitmap">>;
        LayerId: z.ZodNull;
    }, z.core.$strip>>;
    /**
     * One image per layer.
     *
     * Automatically generated by the IDE for resourceVersion 1.0,
     * removed in 1.1.
     */
    images: z.ZodOptional<z.ZodArray<z.ZodObject<{
        FrameId: z.ZodObject<{
            name: z.ZodString;
            path: z.ZodString;
        }, z.core.$strip>;
        resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>;
        name: z.ZodDefault<z.ZodString>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
        resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteBitmap">>;
        LayerId: z.ZodObject<{
            name: z.ZodString;
            path: z.ZodString;
        }, z.core.$strip>;
    }, z.core.$strip>>>;
    /**
     * The parent sprite, same as the sprite's ID from the YYP.
     *
     * Automatically generated by the IDE for resourceVersion 1.0,
     * removed in 1.1.
     */
    parent: z.ZodOptional<z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, z.core.$strip>>;
    resourceVersion: z.ZodDefault<z.ZodString>;
}, z.core.$strip>;
export type SpriteImageLayer = z.input<typeof spriteImageLayerSchema>;
declare const spriteImageLayerSchema: z.ZodObject<{
    visible: z.ZodDefault<z.ZodBoolean>;
    isLocked: z.ZodDefault<z.ZodBoolean>;
    blendMode: z.ZodDefault<z.ZodEnum<typeof SpriteLayerBlendMode>>;
    opacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
    displayName: z.ZodDefault<z.ZodString>;
    resourceVersion: z.ZodDefault<z.ZodString>;
    /**
     * The unique GUID for this layer, used by Frames in their LayerId field.
     */
    name: z.ZodDefault<z.ZodString>;
    /** Seems to be unused -- always an empty array. */
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    resourceType: z.ZodDefault<z.ZodLiteral<"GMImageLayer">>;
}, z.core.$strip>;
export type SpriteFolderLayer = z.input<typeof spriteFolderLayerSchema>;
declare const spriteFolderLayerSchema: z.ZodObject<{
    resourceType: z.ZodDefault<z.ZodLiteral<"GMImageFolderLayer">>;
    resourceVersion: z.ZodDefault<z.ZodString>;
    name: z.ZodDefault<z.ZodString>;
    blendMode: z.ZodDefault<z.ZodEnum<typeof SpriteLayerBlendMode>>;
    displayName: z.ZodDefault<z.ZodString>;
    isLocked: z.ZodDefault<z.ZodBoolean>;
    opacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
    visible: z.ZodDefault<z.ZodBoolean>;
    layers: z.ZodDefault<z.ZodArray<z.ZodObject<{
        visible: z.ZodDefault<z.ZodBoolean>;
        isLocked: z.ZodDefault<z.ZodBoolean>;
        blendMode: z.ZodDefault<z.ZodEnum<typeof SpriteLayerBlendMode>>;
        opacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
        displayName: z.ZodDefault<z.ZodString>;
        resourceVersion: z.ZodDefault<z.ZodString>;
        /**
         * The unique GUID for this layer, used by Frames in their LayerId field.
         */
        name: z.ZodDefault<z.ZodString>;
        /** Seems to be unused -- always an empty array. */
        tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
        resourceType: z.ZodDefault<z.ZodLiteral<"GMImageLayer">>;
    }, z.core.$strip>>>;
}, z.core.$strip>;
export type SpriteSequenceTrackKeyframe = z.input<typeof spriteSequenceTrackKeyframeSchema>;
declare const spriteSequenceTrackKeyframeSchema: z.ZodIntersection<z.ZodObject<{
    id: z.ZodDefault<z.ZodString>;
    Key: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
    Length: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
    Stretch: z.ZodDefault<z.ZodBoolean>;
    Disabled: z.ZodDefault<z.ZodBoolean>;
    IsCreationKey: z.ZodDefault<z.ZodBoolean>;
    Channels: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
        Id: z.ZodDefault<z.ZodObject<{
            name: z.ZodString;
            path: z.ZodString;
        }, z.core.$strip>>;
        resourceVersion: z.ZodDefault<z.ZodString>;
        resourceType: z.ZodDefault<z.ZodLiteral<"SpriteFrameKeyframe">>;
    }, z.core.$strip>>>;
    resourceVersion: z.ZodDefault<z.ZodString>;
}, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
    resourceType: z.ZodLiteral<"Keyframe`1">;
    elementType: z.ZodLiteral<"SpriteFrameKeyframe">;
}, z.core.$strip>, z.ZodObject<{
    resourceType: z.ZodLiteral<"Keyframe<SpriteFrameKeyframe>">;
}, z.core.$strip>], "resourceType">>;
export type SpriteSequenceEventType = z.infer<typeof spriteSequenceEventTypeSchema>;
declare const spriteSequenceEventTypeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    resourceType: z.ZodLiteral<"KeyframeStore<MessageEventKeyframe>">;
}, z.core.$strip>, z.ZodObject<{
    resourceType: z.ZodLiteral<"KeyframeStore`1">;
    elementType: z.ZodLiteral<"MessageEventKeyframe">;
}, z.core.$strip>], "resourceType">;
export type SpriteSequenceTrack = z.infer<typeof spriteSequenceTrackSchema>;
declare const spriteSequenceTrackSchema: z.ZodObject<{
    name: z.ZodDefault<z.ZodString>;
    spriteId: z.ZodDefault<z.ZodNullable<z.ZodUnknown>>;
    trackColour: z.ZodDefault<z.ZodNumber>;
    inheritsTrackColour: z.ZodDefault<z.ZodBoolean>;
    builtinName: z.ZodDefault<z.ZodNumber>;
    traits: z.ZodDefault<z.ZodNumber>;
    interpolation: z.ZodDefault<z.ZodNumber>;
    tracks: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
    events: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
    modifiers: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
    isCreationTrack: z.ZodDefault<z.ZodBoolean>;
    resourceVersion: z.ZodDefault<z.ZodString>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteFramesTrack">>;
    keyframes: z.ZodPipe<z.ZodTransform<{} | null, unknown>, z.ZodPipe<z.ZodIntersection<z.ZodObject<{
        Keyframes: z.ZodPipe<z.ZodTransform<{} | null, unknown>, z.ZodDefault<z.ZodArray<z.ZodIntersection<z.ZodObject<{
            id: z.ZodDefault<z.ZodString>;
            Key: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
            Length: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
            Stretch: z.ZodDefault<z.ZodBoolean>;
            Disabled: z.ZodDefault<z.ZodBoolean>;
            IsCreationKey: z.ZodDefault<z.ZodBoolean>;
            Channels: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
                Id: z.ZodDefault<z.ZodObject<{
                    name: z.ZodString;
                    path: z.ZodString;
                }, z.core.$strip>>;
                resourceVersion: z.ZodDefault<z.ZodString>;
                resourceType: z.ZodDefault<z.ZodLiteral<"SpriteFrameKeyframe">>;
            }, z.core.$strip>>>;
            resourceVersion: z.ZodDefault<z.ZodString>;
        }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
            resourceType: z.ZodLiteral<"Keyframe`1">;
            elementType: z.ZodLiteral<"SpriteFrameKeyframe">;
        }, z.core.$strip>, z.ZodObject<{
            resourceType: z.ZodLiteral<"Keyframe<SpriteFrameKeyframe>">;
        }, z.core.$strip>], "resourceType">>>>>;
        resourceVersion: z.ZodDefault<z.ZodString>;
    }, z.core.$strip>, z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
        resourceType: z.ZodLiteral<"KeyframeStore<SpriteFrameKeyframe>">;
    }, z.core.$strip>, z.ZodObject<{
        resourceType: z.ZodLiteral<"KeyframeStore`1">;
        elementType: z.ZodLiteral<"SpriteFrameKeyframe">;
    }, z.core.$strip>], "resourceType">>>, z.ZodTransform<({
        Keyframes: ({
            id: string;
            Key: FixedNumber;
            Length: FixedNumber;
            Stretch: boolean;
            Disabled: boolean;
            IsCreationKey: boolean;
            Channels: Record<string, {
                Id: {
                    name: string;
                    path: string;
                };
                resourceVersion: string;
                resourceType: "SpriteFrameKeyframe";
            }>;
            resourceVersion: string;
        } & ({
            resourceType: "Keyframe`1";
            elementType: "SpriteFrameKeyframe";
        } | {
            resourceType: "Keyframe<SpriteFrameKeyframe>";
        }))[];
        resourceVersion: string;
    } & {
        resourceType: "KeyframeStore<SpriteFrameKeyframe>";
    }) | ({
        Keyframes: ({
            id: string;
            Key: FixedNumber;
            Length: FixedNumber;
            Stretch: boolean;
            Disabled: boolean;
            IsCreationKey: boolean;
            Channels: Record<string, {
                Id: {
                    name: string;
                    path: string;
                };
                resourceVersion: string;
                resourceType: "SpriteFrameKeyframe";
            }>;
            resourceVersion: string;
        } & ({
            resourceType: "Keyframe`1";
            elementType: "SpriteFrameKeyframe";
        } | {
            resourceType: "Keyframe<SpriteFrameKeyframe>";
        }))[];
        resourceVersion: string;
    } & {
        resourceType: "KeyframeStore`1";
        elementType: "SpriteFrameKeyframe";
    }), {
        Keyframes: ({
            id: string;
            Key: FixedNumber;
            Length: FixedNumber;
            Stretch: boolean;
            Disabled: boolean;
            IsCreationKey: boolean;
            Channels: Record<string, {
                Id: {
                    name: string;
                    path: string;
                };
                resourceVersion: string;
                resourceType: "SpriteFrameKeyframe";
            }>;
            resourceVersion: string;
        } & ({
            resourceType: "Keyframe`1";
            elementType: "SpriteFrameKeyframe";
        } | {
            resourceType: "Keyframe<SpriteFrameKeyframe>";
        }))[];
        resourceVersion: string;
    } & ({
        resourceType: "KeyframeStore<SpriteFrameKeyframe>";
    } | {
        resourceType: "KeyframeStore`1";
        elementType: "SpriteFrameKeyframe";
    })>>>;
}, z.core.$strip>;
export type SpriteSequence = z.input<typeof spriteSequenceSchema>;
declare const spriteSequenceSchema: z.ZodObject<{
    timeUnits: z.ZodDefault<z.ZodNumber>;
    playback: z.ZodDefault<z.ZodNumber>;
    /**
     * FPS (probably 30, 45, or 60), set via the editor
     */
    playbackSpeed: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
    /**
     * FPS type, set via the editor
     */
    playbackSpeedType: z.ZodDefault<z.ZodEnum<typeof SpritePlaybackSpeedType>>;
    autoRecord: z.ZodDefault<z.ZodBoolean>;
    volume: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
    /**
     * Number of frames
     */
    length: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
    visibleRange: z.ZodDefault<z.ZodNullable<z.ZodObject<{
        x: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>;
        y: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>;
    }, z.core.$strip>>>;
    lockOrigin: z.ZodDefault<z.ZodBoolean>;
    showBackdrop: z.ZodDefault<z.ZodBoolean>;
    showBackdropImage: z.ZodDefault<z.ZodBoolean>;
    backdropImagePath: z.ZodDefault<z.ZodString>;
    backdropImageOpacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
    backdropWidth: z.ZodDefault<z.ZodNumber>;
    backdropHeight: z.ZodDefault<z.ZodNumber>;
    backdropXOffset: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
    backdropYOffset: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
    xorigin: z.ZodDefault<z.ZodNumber>;
    yorigin: z.ZodDefault<z.ZodNumber>;
    eventToFunction: z.ZodDefault<z.ZodUnknown>;
    eventStubScript: z.ZodDefault<z.ZodUnknown>;
    name: z.ZodOptional<z.ZodString>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    resourceType: z.ZodDefault<z.ZodLiteral<"GMSequence">>;
    resourceVersion: z.ZodDefault<z.ZodString>;
    events: z.ZodDefault<z.ZodIntersection<z.ZodObject<{
        Keyframes: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
        resourceVersion: z.ZodDefault<z.ZodString>;
    }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
        resourceType: z.ZodLiteral<"KeyframeStore<MessageEventKeyframe>">;
    }, z.core.$strip>, z.ZodObject<{
        resourceType: z.ZodLiteral<"KeyframeStore`1">;
        elementType: z.ZodLiteral<"MessageEventKeyframe">;
    }, z.core.$strip>], "resourceType">>>;
    moments: z.ZodDefault<z.ZodIntersection<z.ZodObject<{
        Keyframes: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
        resourceVersion: z.ZodDefault<z.ZodString>;
    }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
        resourceType: z.ZodLiteral<"KeyframeStore<MomentsEventKeyframe>">;
    }, z.core.$strip>, z.ZodObject<{
        resourceType: z.ZodLiteral<"KeyframeStore`1">;
        elementType: z.ZodLiteral<"MomentsEventKeyframe">;
    }, z.core.$strip>], "resourceType">>>;
    tracks: z.ZodPrefault<z.ZodArray<z.ZodObject<{
        name: z.ZodDefault<z.ZodString>;
        spriteId: z.ZodDefault<z.ZodNullable<z.ZodUnknown>>;
        trackColour: z.ZodDefault<z.ZodNumber>;
        inheritsTrackColour: z.ZodDefault<z.ZodBoolean>;
        builtinName: z.ZodDefault<z.ZodNumber>;
        traits: z.ZodDefault<z.ZodNumber>;
        interpolation: z.ZodDefault<z.ZodNumber>;
        tracks: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
        events: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
        modifiers: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
        isCreationTrack: z.ZodDefault<z.ZodBoolean>;
        resourceVersion: z.ZodDefault<z.ZodString>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
        resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteFramesTrack">>;
        keyframes: z.ZodPipe<z.ZodTransform<{} | null, unknown>, z.ZodPipe<z.ZodIntersection<z.ZodObject<{
            Keyframes: z.ZodPipe<z.ZodTransform<{} | null, unknown>, z.ZodDefault<z.ZodArray<z.ZodIntersection<z.ZodObject<{
                id: z.ZodDefault<z.ZodString>;
                Key: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
                Length: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
                Stretch: z.ZodDefault<z.ZodBoolean>;
                Disabled: z.ZodDefault<z.ZodBoolean>;
                IsCreationKey: z.ZodDefault<z.ZodBoolean>;
                Channels: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
                    Id: z.ZodDefault<z.ZodObject<{
                        name: z.ZodString;
                        path: z.ZodString;
                    }, z.core.$strip>>;
                    resourceVersion: z.ZodDefault<z.ZodString>;
                    resourceType: z.ZodDefault<z.ZodLiteral<"SpriteFrameKeyframe">>;
                }, z.core.$strip>>>;
                resourceVersion: z.ZodDefault<z.ZodString>;
            }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
                resourceType: z.ZodLiteral<"Keyframe`1">;
                elementType: z.ZodLiteral<"SpriteFrameKeyframe">;
            }, z.core.$strip>, z.ZodObject<{
                resourceType: z.ZodLiteral<"Keyframe<SpriteFrameKeyframe>">;
            }, z.core.$strip>], "resourceType">>>>>;
            resourceVersion: z.ZodDefault<z.ZodString>;
        }, z.core.$strip>, z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
            resourceType: z.ZodLiteral<"KeyframeStore<SpriteFrameKeyframe>">;
        }, z.core.$strip>, z.ZodObject<{
            resourceType: z.ZodLiteral<"KeyframeStore`1">;
            elementType: z.ZodLiteral<"SpriteFrameKeyframe">;
        }, z.core.$strip>], "resourceType">>>, z.ZodTransform<({
            Keyframes: ({
                id: string;
                Key: FixedNumber;
                Length: FixedNumber;
                Stretch: boolean;
                Disabled: boolean;
                IsCreationKey: boolean;
                Channels: Record<string, {
                    Id: {
                        name: string;
                        path: string;
                    };
                    resourceVersion: string;
                    resourceType: "SpriteFrameKeyframe";
                }>;
                resourceVersion: string;
            } & ({
                resourceType: "Keyframe`1";
                elementType: "SpriteFrameKeyframe";
            } | {
                resourceType: "Keyframe<SpriteFrameKeyframe>";
            }))[];
            resourceVersion: string;
        } & {
            resourceType: "KeyframeStore<SpriteFrameKeyframe>";
        }) | ({
            Keyframes: ({
                id: string;
                Key: FixedNumber;
                Length: FixedNumber;
                Stretch: boolean;
                Disabled: boolean;
                IsCreationKey: boolean;
                Channels: Record<string, {
                    Id: {
                        name: string;
                        path: string;
                    };
                    resourceVersion: string;
                    resourceType: "SpriteFrameKeyframe";
                }>;
                resourceVersion: string;
            } & ({
                resourceType: "Keyframe`1";
                elementType: "SpriteFrameKeyframe";
            } | {
                resourceType: "Keyframe<SpriteFrameKeyframe>";
            }))[];
            resourceVersion: string;
        } & {
            resourceType: "KeyframeStore`1";
            elementType: "SpriteFrameKeyframe";
        }), {
            Keyframes: ({
                id: string;
                Key: FixedNumber;
                Length: FixedNumber;
                Stretch: boolean;
                Disabled: boolean;
                IsCreationKey: boolean;
                Channels: Record<string, {
                    Id: {
                        name: string;
                        path: string;
                    };
                    resourceVersion: string;
                    resourceType: "SpriteFrameKeyframe";
                }>;
                resourceVersion: string;
            } & ({
                resourceType: "Keyframe`1";
                elementType: "SpriteFrameKeyframe";
            } | {
                resourceType: "Keyframe<SpriteFrameKeyframe>";
            }))[];
            resourceVersion: string;
        } & ({
            resourceType: "KeyframeStore<SpriteFrameKeyframe>";
        } | {
            resourceType: "KeyframeStore`1";
            elementType: "SpriteFrameKeyframe";
        })>>>;
    }, z.core.$strip>>>;
    /**
     * Matches the YYP resource's 'id' value.
     */
    spriteId: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, z.core.$strip>>>;
    parent: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, z.core.$strip>>>;
}, z.core.$strip>;
/**
 * Data structure for Sprite .yy files.
 */
export type YySpriteLoose = z.input<typeof yySpriteSchemaStrict>;
export type YySprite = z.output<typeof yySpriteSchemaStrict>;
declare const yySpriteSchemaStrict: z.ZodPipe<z.ZodObject<{
    "%Name": z.ZodOptional<z.ZodString>;
    ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
    name: z.ZodString;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    parent: z.ZodDefault<z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, z.core.$strip>>;
    resourceVersion: z.ZodDefault<z.ZodString>;
    bboxMode: z.ZodDefault<z.ZodEnum<typeof SpriteBoundingBoxMode>>;
    collisionKind: z.ZodDefault<z.ZodEnum<typeof SpriteCollisionKind>>;
    type: z.ZodDefault<z.ZodEnum<typeof SpriteType>>;
    origin: z.ZodDefault<z.ZodEnum<typeof SpriteOrigin>>;
    preMultiplyAlpha: z.ZodDefault<z.ZodBoolean>;
    edgeFiltering: z.ZodDefault<z.ZodBoolean>;
    collisionTolerance: z.ZodDefault<z.ZodNumber>;
    swfPrecision: z.ZodDefault<z.ZodNumber>;
    bbox_left: z.ZodDefault<z.ZodNumber>;
    bbox_right: z.ZodDefault<z.ZodNumber>;
    bbox_top: z.ZodDefault<z.ZodNumber>;
    bbox_bottom: z.ZodDefault<z.ZodNumber>;
    HTile: z.ZodDefault<z.ZodBoolean>;
    VTile: z.ZodDefault<z.ZodBoolean>;
    For3D: z.ZodDefault<z.ZodBoolean>;
    DynamicTexturePage: z.ZodDefault<z.ZodBoolean>;
    width: z.ZodDefault<z.ZodNumber>;
    height: z.ZodDefault<z.ZodNumber>;
    textureGroupId: z.ZodDefault<z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, z.core.$strip>>;
    swatchColours: z.ZodDefault<z.ZodUnknown>;
    gridX: z.ZodDefault<z.ZodNumber>;
    gridY: z.ZodDefault<z.ZodNumber>;
    frames: z.ZodDefault<z.ZodArray<z.ZodObject<{
        /**
         * Unique GUID. Matches the name of an image file (+'.png')
         * that sits alongside the .yy file. Also matches a corresponding
         * folder name inside the "layers" folder. The Composite image
         * and each one listed in 'images' all have the same value here
         * for their "FrameId.name" field.
         */
        name: z.ZodDefault<z.ZodString>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
        resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteFrame">>;
        /**
         * Image created by flattening layers.
         *
         * Automatically generated by the IDE for resourceVersion 1.0,
         * removed in 1.1.
         */
        compositeImage: z.ZodOptional<z.ZodObject<{
            FrameId: z.ZodObject<{
                name: z.ZodString;
                path: z.ZodString;
            }, z.core.$strip>;
            resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>;
            name: z.ZodDefault<z.ZodString>;
            tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
            resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteBitmap">>;
            LayerId: z.ZodNull;
        }, z.core.$strip>>;
        /**
         * One image per layer.
         *
         * Automatically generated by the IDE for resourceVersion 1.0,
         * removed in 1.1.
         */
        images: z.ZodOptional<z.ZodArray<z.ZodObject<{
            FrameId: z.ZodObject<{
                name: z.ZodString;
                path: z.ZodString;
            }, z.core.$strip>;
            resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>;
            name: z.ZodDefault<z.ZodString>;
            tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
            resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteBitmap">>;
            LayerId: z.ZodObject<{
                name: z.ZodString;
                path: z.ZodString;
            }, z.core.$strip>;
        }, z.core.$strip>>>;
        /**
         * The parent sprite, same as the sprite's ID from the YYP.
         *
         * Automatically generated by the IDE for resourceVersion 1.0,
         * removed in 1.1.
         */
        parent: z.ZodOptional<z.ZodObject<{
            name: z.ZodString;
            path: z.ZodString;
        }, z.core.$strip>>;
        resourceVersion: z.ZodDefault<z.ZodString>;
    }, z.core.$strip>>>;
    sequence: z.ZodPrefault<z.ZodObject<{
        timeUnits: z.ZodDefault<z.ZodNumber>;
        playback: z.ZodDefault<z.ZodNumber>;
        /**
         * FPS (probably 30, 45, or 60), set via the editor
         */
        playbackSpeed: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
        /**
         * FPS type, set via the editor
         */
        playbackSpeedType: z.ZodDefault<z.ZodEnum<typeof SpritePlaybackSpeedType>>;
        autoRecord: z.ZodDefault<z.ZodBoolean>;
        volume: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
        /**
         * Number of frames
         */
        length: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
        visibleRange: z.ZodDefault<z.ZodNullable<z.ZodObject<{
            x: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>;
            y: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>;
        }, z.core.$strip>>>;
        lockOrigin: z.ZodDefault<z.ZodBoolean>;
        showBackdrop: z.ZodDefault<z.ZodBoolean>;
        showBackdropImage: z.ZodDefault<z.ZodBoolean>;
        backdropImagePath: z.ZodDefault<z.ZodString>;
        backdropImageOpacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
        backdropWidth: z.ZodDefault<z.ZodNumber>;
        backdropHeight: z.ZodDefault<z.ZodNumber>;
        backdropXOffset: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
        backdropYOffset: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
        xorigin: z.ZodDefault<z.ZodNumber>;
        yorigin: z.ZodDefault<z.ZodNumber>;
        eventToFunction: z.ZodDefault<z.ZodUnknown>;
        eventStubScript: z.ZodDefault<z.ZodUnknown>;
        name: z.ZodOptional<z.ZodString>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
        resourceType: z.ZodDefault<z.ZodLiteral<"GMSequence">>;
        resourceVersion: z.ZodDefault<z.ZodString>;
        events: z.ZodDefault<z.ZodIntersection<z.ZodObject<{
            Keyframes: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
            resourceVersion: z.ZodDefault<z.ZodString>;
        }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
            resourceType: z.ZodLiteral<"KeyframeStore<MessageEventKeyframe>">;
        }, z.core.$strip>, z.ZodObject<{
            resourceType: z.ZodLiteral<"KeyframeStore`1">;
            elementType: z.ZodLiteral<"MessageEventKeyframe">;
        }, z.core.$strip>], "resourceType">>>;
        moments: z.ZodDefault<z.ZodIntersection<z.ZodObject<{
            Keyframes: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
            resourceVersion: z.ZodDefault<z.ZodString>;
        }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
            resourceType: z.ZodLiteral<"KeyframeStore<MomentsEventKeyframe>">;
        }, z.core.$strip>, z.ZodObject<{
            resourceType: z.ZodLiteral<"KeyframeStore`1">;
            elementType: z.ZodLiteral<"MomentsEventKeyframe">;
        }, z.core.$strip>], "resourceType">>>;
        tracks: z.ZodPrefault<z.ZodArray<z.ZodObject<{
            name: z.ZodDefault<z.ZodString>;
            spriteId: z.ZodDefault<z.ZodNullable<z.ZodUnknown>>;
            trackColour: z.ZodDefault<z.ZodNumber>;
            inheritsTrackColour: z.ZodDefault<z.ZodBoolean>;
            builtinName: z.ZodDefault<z.ZodNumber>;
            traits: z.ZodDefault<z.ZodNumber>;
            interpolation: z.ZodDefault<z.ZodNumber>;
            tracks: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
            events: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
            modifiers: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
            isCreationTrack: z.ZodDefault<z.ZodBoolean>;
            resourceVersion: z.ZodDefault<z.ZodString>;
            tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
            resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteFramesTrack">>;
            keyframes: z.ZodPipe<z.ZodTransform<{} | null, unknown>, z.ZodPipe<z.ZodIntersection<z.ZodObject<{
                Keyframes: z.ZodPipe<z.ZodTransform<{} | null, unknown>, z.ZodDefault<z.ZodArray<z.ZodIntersection<z.ZodObject<{
                    id: z.ZodDefault<z.ZodString>;
                    Key: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
                    Length: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
                    Stretch: z.ZodDefault<z.ZodBoolean>;
                    Disabled: z.ZodDefault<z.ZodBoolean>;
                    IsCreationKey: z.ZodDefault<z.ZodBoolean>;
                    Channels: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
                        Id: z.ZodDefault<z.ZodObject<{
                            name: z.ZodString;
                            path: z.ZodString;
                        }, z.core.$strip>>;
                        resourceVersion: z.ZodDefault<z.ZodString>;
                        resourceType: z.ZodDefault<z.ZodLiteral<"SpriteFrameKeyframe">>;
                    }, z.core.$strip>>>;
                    resourceVersion: z.ZodDefault<z.ZodString>;
                }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
                    resourceType: z.ZodLiteral<"Keyframe`1">;
                    elementType: z.ZodLiteral<"SpriteFrameKeyframe">;
                }, z.core.$strip>, z.ZodObject<{
                    resourceType: z.ZodLiteral<"Keyframe<SpriteFrameKeyframe>">;
                }, z.core.$strip>], "resourceType">>>>>;
                resourceVersion: z.ZodDefault<z.ZodString>;
            }, z.core.$strip>, z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
                resourceType: z.ZodLiteral<"KeyframeStore<SpriteFrameKeyframe>">;
            }, z.core.$strip>, z.ZodObject<{
                resourceType: z.ZodLiteral<"KeyframeStore`1">;
                elementType: z.ZodLiteral<"SpriteFrameKeyframe">;
            }, z.core.$strip>], "resourceType">>>, z.ZodTransform<({
                Keyframes: ({
                    id: string;
                    Key: FixedNumber;
                    Length: FixedNumber;
                    Stretch: boolean;
                    Disabled: boolean;
                    IsCreationKey: boolean;
                    Channels: Record<string, {
                        Id: {
                            name: string;
                            path: string;
                        };
                        resourceVersion: string;
                        resourceType: "SpriteFrameKeyframe";
                    }>;
                    resourceVersion: string;
                } & ({
                    resourceType: "Keyframe`1";
                    elementType: "SpriteFrameKeyframe";
                } | {
                    resourceType: "Keyframe<SpriteFrameKeyframe>";
                }))[];
                resourceVersion: string;
            } & {
                resourceType: "KeyframeStore<SpriteFrameKeyframe>";
            }) | ({
                Keyframes: ({
                    id: string;
                    Key: FixedNumber;
                    Length: FixedNumber;
                    Stretch: boolean;
                    Disabled: boolean;
                    IsCreationKey: boolean;
                    Channels: Record<string, {
                        Id: {
                            name: string;
                            path: string;
                        };
                        resourceVersion: string;
                        resourceType: "SpriteFrameKeyframe";
                    }>;
                    resourceVersion: string;
                } & ({
                    resourceType: "Keyframe`1";
                    elementType: "SpriteFrameKeyframe";
                } | {
                    resourceType: "Keyframe<SpriteFrameKeyframe>";
                }))[];
                resourceVersion: string;
            } & {
                resourceType: "KeyframeStore`1";
                elementType: "SpriteFrameKeyframe";
            }), {
                Keyframes: ({
                    id: string;
                    Key: FixedNumber;
                    Length: FixedNumber;
                    Stretch: boolean;
                    Disabled: boolean;
                    IsCreationKey: boolean;
                    Channels: Record<string, {
                        Id: {
                            name: string;
                            path: string;
                        };
                        resourceVersion: string;
                        resourceType: "SpriteFrameKeyframe";
                    }>;
                    resourceVersion: string;
                } & ({
                    resourceType: "Keyframe`1";
                    elementType: "SpriteFrameKeyframe";
                } | {
                    resourceType: "Keyframe<SpriteFrameKeyframe>";
                }))[];
                resourceVersion: string;
            } & ({
                resourceType: "KeyframeStore<SpriteFrameKeyframe>";
            } | {
                resourceType: "KeyframeStore`1";
                elementType: "SpriteFrameKeyframe";
            })>>>;
        }, z.core.$strip>>>;
        /**
         * Matches the YYP resource's 'id' value.
         */
        spriteId: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
            name: z.ZodString;
            path: z.ZodString;
        }, z.core.$strip>>>;
        parent: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
            name: z.ZodString;
            path: z.ZodString;
        }, z.core.$strip>>>;
    }, z.core.$strip>>;
    layers: z.ZodPrefault<z.ZodArray<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDiscriminatedUnion<[z.ZodObject<{
        visible: z.ZodDefault<z.ZodBoolean>;
        isLocked: z.ZodDefault<z.ZodBoolean>;
        blendMode: z.ZodDefault<z.ZodEnum<typeof SpriteLayerBlendMode>>;
        opacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
        displayName: z.ZodDefault<z.ZodString>;
        resourceVersion: z.ZodDefault<z.ZodString>;
        /**
         * The unique GUID for this layer, used by Frames in their LayerId field.
         */
        name: z.ZodDefault<z.ZodString>;
        /** Seems to be unused -- always an empty array. */
        tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
        resourceType: z.ZodDefault<z.ZodLiteral<"GMImageLayer">>;
    }, z.core.$strip>, z.ZodObject<{
        resourceType: z.ZodDefault<z.ZodLiteral<"GMImageFolderLayer">>;
        resourceVersion: z.ZodDefault<z.ZodString>;
        name: z.ZodDefault<z.ZodString>;
        blendMode: z.ZodDefault<z.ZodEnum<typeof SpriteLayerBlendMode>>;
        displayName: z.ZodDefault<z.ZodString>;
        isLocked: z.ZodDefault<z.ZodBoolean>;
        opacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
        visible: z.ZodDefault<z.ZodBoolean>;
        layers: z.ZodDefault<z.ZodArray<z.ZodObject<{
            visible: z.ZodDefault<z.ZodBoolean>;
            isLocked: z.ZodDefault<z.ZodBoolean>;
            blendMode: z.ZodDefault<z.ZodEnum<typeof SpriteLayerBlendMode>>;
            opacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
            displayName: z.ZodDefault<z.ZodString>;
            resourceVersion: z.ZodDefault<z.ZodString>;
            /**
             * The unique GUID for this layer, used by Frames in their LayerId field.
             */
            name: z.ZodDefault<z.ZodString>;
            /** Seems to be unused -- always an empty array. */
            tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
            resourceType: z.ZodDefault<z.ZodLiteral<"GMImageLayer">>;
        }, z.core.$strip>>>;
    }, z.core.$strip>], "resourceType">>>>;
    resourceType: z.ZodDefault<z.ZodLiteral<"GMSprite">>;
    nineSlice: z.ZodDefault<z.ZodOptional<z.ZodUnknown>>;
}, z.core.$strip>, z.ZodTransform<{
    name: string;
    parent: {
        name: string;
        path: string;
    };
    resourceVersion: string;
    bboxMode: SpriteBoundingBoxMode;
    collisionKind: SpriteCollisionKind;
    type: SpriteType;
    origin: SpriteOrigin;
    preMultiplyAlpha: boolean;
    edgeFiltering: boolean;
    collisionTolerance: number;
    swfPrecision: number;
    bbox_left: number;
    bbox_right: number;
    bbox_top: number;
    bbox_bottom: number;
    HTile: boolean;
    VTile: boolean;
    For3D: boolean;
    DynamicTexturePage: boolean;
    width: number;
    height: number;
    textureGroupId: {
        name: string;
        path: string;
    };
    swatchColours: unknown;
    gridX: number;
    gridY: number;
    frames: {
        name: string;
        resourceType: "GMSpriteFrame";
        resourceVersion: string;
        tags?: string[] | undefined;
        compositeImage?: {
            FrameId: {
                name: string;
                path: string;
            };
            resourceVersion: "1.0";
            name: string;
            resourceType: "GMSpriteBitmap";
            LayerId: null;
            tags?: string[] | undefined;
        } | undefined;
        images?: {
            FrameId: {
                name: string;
                path: string;
            };
            resourceVersion: "1.0";
            name: string;
            resourceType: "GMSpriteBitmap";
            LayerId: {
                name: string;
                path: string;
            };
            tags?: string[] | undefined;
        }[] | undefined;
        parent?: {
            name: string;
            path: string;
        } | undefined;
    }[];
    sequence: {
        timeUnits: number;
        playback: number;
        playbackSpeed: FixedNumber;
        playbackSpeedType: SpritePlaybackSpeedType;
        autoRecord: boolean;
        volume: FixedNumber;
        length: FixedNumber;
        visibleRange: {
            x: FixedNumber;
            y: FixedNumber;
        } | null;
        lockOrigin: boolean;
        showBackdrop: boolean;
        showBackdropImage: boolean;
        backdropImagePath: string;
        backdropImageOpacity: FixedNumber;
        backdropWidth: number;
        backdropHeight: number;
        backdropXOffset: FixedNumber;
        backdropYOffset: FixedNumber;
        xorigin: number;
        yorigin: number;
        eventToFunction: unknown;
        eventStubScript: unknown;
        resourceType: "GMSequence";
        resourceVersion: string;
        events: {
            Keyframes: unknown[];
            resourceVersion: string;
        } & ({
            resourceType: "KeyframeStore<MessageEventKeyframe>";
        } | {
            resourceType: "KeyframeStore`1";
            elementType: "MessageEventKeyframe";
        });
        moments: {
            Keyframes: unknown[];
            resourceVersion: string;
        } & ({
            resourceType: "KeyframeStore<MomentsEventKeyframe>";
        } | {
            resourceType: "KeyframeStore`1";
            elementType: "MomentsEventKeyframe";
        });
        tracks: {
            name: string;
            spriteId: unknown;
            trackColour: number;
            inheritsTrackColour: boolean;
            builtinName: number;
            traits: number;
            interpolation: number;
            tracks: unknown[];
            events: unknown[];
            modifiers: unknown[];
            isCreationTrack: boolean;
            resourceVersion: string;
            resourceType: "GMSpriteFramesTrack";
            keyframes: ({
                Keyframes: ({
                    id: string;
                    Key: FixedNumber;
                    Length: FixedNumber;
                    Stretch: boolean;
                    Disabled: boolean;
                    IsCreationKey: boolean;
                    Channels: Record<string, {
                        Id: {
                            name: string;
                            path: string;
                        };
                        resourceVersion: string;
                        resourceType: "SpriteFrameKeyframe";
                    }>;
                    resourceVersion: string;
                } & ({
                    resourceType: "Keyframe`1";
                    elementType: "SpriteFrameKeyframe";
                } | {
                    resourceType: "Keyframe<SpriteFrameKeyframe>";
                }))[];
                resourceVersion: string;
            } & {
                resourceType: "KeyframeStore<SpriteFrameKeyframe>";
            }) | ({
                Keyframes: ({
                    id: string;
                    Key: FixedNumber;
                    Length: FixedNumber;
                    Stretch: boolean;
                    Disabled: boolean;
                    IsCreationKey: boolean;
                    Channels: Record<string, {
                        Id: {
                            name: string;
                            path: string;
                        };
                        resourceVersion: string;
                        resourceType: "SpriteFrameKeyframe";
                    }>;
                    resourceVersion: string;
                } & ({
                    resourceType: "Keyframe`1";
                    elementType: "SpriteFrameKeyframe";
                } | {
                    resourceType: "Keyframe<SpriteFrameKeyframe>";
                }))[];
                resourceVersion: string;
            } & {
                resourceType: "KeyframeStore`1";
                elementType: "SpriteFrameKeyframe";
            });
            tags?: string[] | undefined;
        }[];
        name?: string | undefined;
        tags?: string[] | undefined;
        spriteId?: {
            name: string;
            path: string;
        } | undefined;
        parent?: {
            name: string;
            path: string;
        } | undefined;
    };
    layers: ({
        visible: boolean;
        isLocked: boolean;
        blendMode: SpriteLayerBlendMode;
        opacity: FixedNumber;
        displayName: string;
        resourceVersion: string;
        name: string;
        resourceType: "GMImageLayer";
        tags?: string[] | undefined;
    } | {
        resourceType: "GMImageFolderLayer";
        resourceVersion: string;
        name: string;
        blendMode: SpriteLayerBlendMode;
        displayName: string;
        isLocked: boolean;
        opacity: FixedNumber;
        visible: boolean;
        layers: {
            visible: boolean;
            isLocked: boolean;
            blendMode: SpriteLayerBlendMode;
            opacity: FixedNumber;
            displayName: string;
            resourceVersion: string;
            name: string;
            resourceType: "GMImageLayer";
            tags?: string[] | undefined;
        }[];
    })[];
    resourceType: "GMSprite";
    nineSlice: unknown;
    "%Name"?: string | undefined;
    ConfigValues?: Record<string, Record<string, string>> | undefined;
    tags?: string[] | undefined;
}, {
    name: string;
    parent: {
        name: string;
        path: string;
    };
    resourceVersion: string;
    bboxMode: SpriteBoundingBoxMode;
    collisionKind: SpriteCollisionKind;
    type: SpriteType;
    origin: SpriteOrigin;
    preMultiplyAlpha: boolean;
    edgeFiltering: boolean;
    collisionTolerance: number;
    swfPrecision: number;
    bbox_left: number;
    bbox_right: number;
    bbox_top: number;
    bbox_bottom: number;
    HTile: boolean;
    VTile: boolean;
    For3D: boolean;
    DynamicTexturePage: boolean;
    width: number;
    height: number;
    textureGroupId: {
        name: string;
        path: string;
    };
    swatchColours: unknown;
    gridX: number;
    gridY: number;
    frames: {
        name: string;
        resourceType: "GMSpriteFrame";
        resourceVersion: string;
        tags?: string[] | undefined;
        compositeImage?: {
            FrameId: {
                name: string;
                path: string;
            };
            resourceVersion: "1.0";
            name: string;
            resourceType: "GMSpriteBitmap";
            LayerId: null;
            tags?: string[] | undefined;
        } | undefined;
        images?: {
            FrameId: {
                name: string;
                path: string;
            };
            resourceVersion: "1.0";
            name: string;
            resourceType: "GMSpriteBitmap";
            LayerId: {
                name: string;
                path: string;
            };
            tags?: string[] | undefined;
        }[] | undefined;
        parent?: {
            name: string;
            path: string;
        } | undefined;
    }[];
    sequence: {
        timeUnits: number;
        playback: number;
        playbackSpeed: FixedNumber;
        playbackSpeedType: SpritePlaybackSpeedType;
        autoRecord: boolean;
        volume: FixedNumber;
        length: FixedNumber;
        visibleRange: {
            x: FixedNumber;
            y: FixedNumber;
        } | null;
        lockOrigin: boolean;
        showBackdrop: boolean;
        showBackdropImage: boolean;
        backdropImagePath: string;
        backdropImageOpacity: FixedNumber;
        backdropWidth: number;
        backdropHeight: number;
        backdropXOffset: FixedNumber;
        backdropYOffset: FixedNumber;
        xorigin: number;
        yorigin: number;
        eventToFunction: unknown;
        eventStubScript: unknown;
        resourceType: "GMSequence";
        resourceVersion: string;
        events: {
            Keyframes: unknown[];
            resourceVersion: string;
        } & ({
            resourceType: "KeyframeStore<MessageEventKeyframe>";
        } | {
            resourceType: "KeyframeStore`1";
            elementType: "MessageEventKeyframe";
        });
        moments: {
            Keyframes: unknown[];
            resourceVersion: string;
        } & ({
            resourceType: "KeyframeStore<MomentsEventKeyframe>";
        } | {
            resourceType: "KeyframeStore`1";
            elementType: "MomentsEventKeyframe";
        });
        tracks: {
            name: string;
            spriteId: unknown;
            trackColour: number;
            inheritsTrackColour: boolean;
            builtinName: number;
            traits: number;
            interpolation: number;
            tracks: unknown[];
            events: unknown[];
            modifiers: unknown[];
            isCreationTrack: boolean;
            resourceVersion: string;
            resourceType: "GMSpriteFramesTrack";
            keyframes: ({
                Keyframes: ({
                    id: string;
                    Key: FixedNumber;
                    Length: FixedNumber;
                    Stretch: boolean;
                    Disabled: boolean;
                    IsCreationKey: boolean;
                    Channels: Record<string, {
                        Id: {
                            name: string;
                            path: string;
                        };
                        resourceVersion: string;
                        resourceType: "SpriteFrameKeyframe";
                    }>;
                    resourceVersion: string;
                } & ({
                    resourceType: "Keyframe`1";
                    elementType: "SpriteFrameKeyframe";
                } | {
                    resourceType: "Keyframe<SpriteFrameKeyframe>";
                }))[];
                resourceVersion: string;
            } & {
                resourceType: "KeyframeStore<SpriteFrameKeyframe>";
            }) | ({
                Keyframes: ({
                    id: string;
                    Key: FixedNumber;
                    Length: FixedNumber;
                    Stretch: boolean;
                    Disabled: boolean;
                    IsCreationKey: boolean;
                    Channels: Record<string, {
                        Id: {
                            name: string;
                            path: string;
                        };
                        resourceVersion: string;
                        resourceType: "SpriteFrameKeyframe";
                    }>;
                    resourceVersion: string;
                } & ({
                    resourceType: "Keyframe`1";
                    elementType: "SpriteFrameKeyframe";
                } | {
                    resourceType: "Keyframe<SpriteFrameKeyframe>";
                }))[];
                resourceVersion: string;
            } & {
                resourceType: "KeyframeStore`1";
                elementType: "SpriteFrameKeyframe";
            });
            tags?: string[] | undefined;
        }[];
        name?: string | undefined;
        tags?: string[] | undefined;
        spriteId?: {
            name: string;
            path: string;
        } | undefined;
        parent?: {
            name: string;
            path: string;
        } | undefined;
    };
    layers: ({
        visible: boolean;
        isLocked: boolean;
        blendMode: SpriteLayerBlendMode;
        opacity: FixedNumber;
        displayName: string;
        resourceVersion: string;
        name: string;
        resourceType: "GMImageLayer";
        tags?: string[] | undefined;
    } | {
        resourceType: "GMImageFolderLayer";
        resourceVersion: string;
        name: string;
        blendMode: SpriteLayerBlendMode;
        displayName: string;
        isLocked: boolean;
        opacity: FixedNumber;
        visible: boolean;
        layers: {
            visible: boolean;
            isLocked: boolean;
            blendMode: SpriteLayerBlendMode;
            opacity: FixedNumber;
            displayName: string;
            resourceVersion: string;
            name: string;
            resourceType: "GMImageLayer";
            tags?: string[] | undefined;
        }[];
    })[];
    resourceType: "GMSprite";
    nineSlice: unknown;
    "%Name"?: string | undefined;
    ConfigValues?: Record<string, Record<string, string>> | undefined;
    tags?: string[] | undefined;
}>>;
/**
 * Schema for creating/updating a YySprite, with very
 * forgiving preprocessing to allow for sparse inputs.
 */
export declare const yySpriteSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodPipe<z.ZodObject<{
    "%Name": z.ZodOptional<z.ZodString>;
    ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
    name: z.ZodString;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    parent: z.ZodDefault<z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, z.core.$strip>>;
    resourceVersion: z.ZodDefault<z.ZodString>;
    bboxMode: z.ZodDefault<z.ZodEnum<typeof SpriteBoundingBoxMode>>;
    collisionKind: z.ZodDefault<z.ZodEnum<typeof SpriteCollisionKind>>;
    type: z.ZodDefault<z.ZodEnum<typeof SpriteType>>;
    origin: z.ZodDefault<z.ZodEnum<typeof SpriteOrigin>>;
    preMultiplyAlpha: z.ZodDefault<z.ZodBoolean>;
    edgeFiltering: z.ZodDefault<z.ZodBoolean>;
    collisionTolerance: z.ZodDefault<z.ZodNumber>;
    swfPrecision: z.ZodDefault<z.ZodNumber>;
    bbox_left: z.ZodDefault<z.ZodNumber>;
    bbox_right: z.ZodDefault<z.ZodNumber>;
    bbox_top: z.ZodDefault<z.ZodNumber>;
    bbox_bottom: z.ZodDefault<z.ZodNumber>;
    HTile: z.ZodDefault<z.ZodBoolean>;
    VTile: z.ZodDefault<z.ZodBoolean>;
    For3D: z.ZodDefault<z.ZodBoolean>;
    DynamicTexturePage: z.ZodDefault<z.ZodBoolean>;
    width: z.ZodDefault<z.ZodNumber>;
    height: z.ZodDefault<z.ZodNumber>;
    textureGroupId: z.ZodDefault<z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, z.core.$strip>>;
    swatchColours: z.ZodDefault<z.ZodUnknown>;
    gridX: z.ZodDefault<z.ZodNumber>;
    gridY: z.ZodDefault<z.ZodNumber>;
    frames: z.ZodDefault<z.ZodArray<z.ZodObject<{
        /**
         * Unique GUID. Matches the name of an image file (+'.png')
         * that sits alongside the .yy file. Also matches a corresponding
         * folder name inside the "layers" folder. The Composite image
         * and each one listed in 'images' all have the same value here
         * for their "FrameId.name" field.
         */
        name: z.ZodDefault<z.ZodString>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
        resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteFrame">>;
        /**
         * Image created by flattening layers.
         *
         * Automatically generated by the IDE for resourceVersion 1.0,
         * removed in 1.1.
         */
        compositeImage: z.ZodOptional<z.ZodObject<{
            FrameId: z.ZodObject<{
                name: z.ZodString;
                path: z.ZodString;
            }, z.core.$strip>;
            resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>;
            name: z.ZodDefault<z.ZodString>;
            tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
            resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteBitmap">>;
            LayerId: z.ZodNull;
        }, z.core.$strip>>;
        /**
         * One image per layer.
         *
         * Automatically generated by the IDE for resourceVersion 1.0,
         * removed in 1.1.
         */
        images: z.ZodOptional<z.ZodArray<z.ZodObject<{
            FrameId: z.ZodObject<{
                name: z.ZodString;
                path: z.ZodString;
            }, z.core.$strip>;
            resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>;
            name: z.ZodDefault<z.ZodString>;
            tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
            resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteBitmap">>;
            LayerId: z.ZodObject<{
                name: z.ZodString;
                path: z.ZodString;
            }, z.core.$strip>;
        }, z.core.$strip>>>;
        /**
         * The parent sprite, same as the sprite's ID from the YYP.
         *
         * Automatically generated by the IDE for resourceVersion 1.0,
         * removed in 1.1.
         */
        parent: z.ZodOptional<z.ZodObject<{
            name: z.ZodString;
            path: z.ZodString;
        }, z.core.$strip>>;
        resourceVersion: z.ZodDefault<z.ZodString>;
    }, z.core.$strip>>>;
    sequence: z.ZodPrefault<z.ZodObject<{
        timeUnits: z.ZodDefault<z.ZodNumber>;
        playback: z.ZodDefault<z.ZodNumber>;
        /**
         * FPS (probably 30, 45, or 60), set via the editor
         */
        playbackSpeed: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
        /**
         * FPS type, set via the editor
         */
        playbackSpeedType: z.ZodDefault<z.ZodEnum<typeof SpritePlaybackSpeedType>>;
        autoRecord: z.ZodDefault<z.ZodBoolean>;
        volume: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
        /**
         * Number of frames
         */
        length: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
        visibleRange: z.ZodDefault<z.ZodNullable<z.ZodObject<{
            x: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>;
            y: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>;
        }, z.core.$strip>>>;
        lockOrigin: z.ZodDefault<z.ZodBoolean>;
        showBackdrop: z.ZodDefault<z.ZodBoolean>;
        showBackdropImage: z.ZodDefault<z.ZodBoolean>;
        backdropImagePath: z.ZodDefault<z.ZodString>;
        backdropImageOpacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
        backdropWidth: z.ZodDefault<z.ZodNumber>;
        backdropHeight: z.ZodDefault<z.ZodNumber>;
        backdropXOffset: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
        backdropYOffset: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
        xorigin: z.ZodDefault<z.ZodNumber>;
        yorigin: z.ZodDefault<z.ZodNumber>;
        eventToFunction: z.ZodDefault<z.ZodUnknown>;
        eventStubScript: z.ZodDefault<z.ZodUnknown>;
        name: z.ZodOptional<z.ZodString>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
        resourceType: z.ZodDefault<z.ZodLiteral<"GMSequence">>;
        resourceVersion: z.ZodDefault<z.ZodString>;
        events: z.ZodDefault<z.ZodIntersection<z.ZodObject<{
            Keyframes: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
            resourceVersion: z.ZodDefault<z.ZodString>;
        }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
            resourceType: z.ZodLiteral<"KeyframeStore<MessageEventKeyframe>">;
        }, z.core.$strip>, z.ZodObject<{
            resourceType: z.ZodLiteral<"KeyframeStore`1">;
            elementType: z.ZodLiteral<"MessageEventKeyframe">;
        }, z.core.$strip>], "resourceType">>>;
        moments: z.ZodDefault<z.ZodIntersection<z.ZodObject<{
            Keyframes: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
            resourceVersion: z.ZodDefault<z.ZodString>;
        }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
            resourceType: z.ZodLiteral<"KeyframeStore<MomentsEventKeyframe>">;
        }, z.core.$strip>, z.ZodObject<{
            resourceType: z.ZodLiteral<"KeyframeStore`1">;
            elementType: z.ZodLiteral<"MomentsEventKeyframe">;
        }, z.core.$strip>], "resourceType">>>;
        tracks: z.ZodPrefault<z.ZodArray<z.ZodObject<{
            name: z.ZodDefault<z.ZodString>;
            spriteId: z.ZodDefault<z.ZodNullable<z.ZodUnknown>>;
            trackColour: z.ZodDefault<z.ZodNumber>;
            inheritsTrackColour: z.ZodDefault<z.ZodBoolean>;
            builtinName: z.ZodDefault<z.ZodNumber>;
            traits: z.ZodDefault<z.ZodNumber>;
            interpolation: z.ZodDefault<z.ZodNumber>;
            tracks: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
            events: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
            modifiers: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
            isCreationTrack: z.ZodDefault<z.ZodBoolean>;
            resourceVersion: z.ZodDefault<z.ZodString>;
            tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
            resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteFramesTrack">>;
            keyframes: z.ZodPipe<z.ZodTransform<{} | null, unknown>, z.ZodPipe<z.ZodIntersection<z.ZodObject<{
                Keyframes: z.ZodPipe<z.ZodTransform<{} | null, unknown>, z.ZodDefault<z.ZodArray<z.ZodIntersection<z.ZodObject<{
                    id: z.ZodDefault<z.ZodString>;
                    Key: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
                    Length: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
                    Stretch: z.ZodDefault<z.ZodBoolean>;
                    Disabled: z.ZodDefault<z.ZodBoolean>;
                    IsCreationKey: z.ZodDefault<z.ZodBoolean>;
                    Channels: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
                        Id: z.ZodDefault<z.ZodObject<{
                            name: z.ZodString;
                            path: z.ZodString;
                        }, z.core.$strip>>;
                        resourceVersion: z.ZodDefault<z.ZodString>;
                        resourceType: z.ZodDefault<z.ZodLiteral<"SpriteFrameKeyframe">>;
                    }, z.core.$strip>>>;
                    resourceVersion: z.ZodDefault<z.ZodString>;
                }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
                    resourceType: z.ZodLiteral<"Keyframe`1">;
                    elementType: z.ZodLiteral<"SpriteFrameKeyframe">;
                }, z.core.$strip>, z.ZodObject<{
                    resourceType: z.ZodLiteral<"Keyframe<SpriteFrameKeyframe>">;
                }, z.core.$strip>], "resourceType">>>>>;
                resourceVersion: z.ZodDefault<z.ZodString>;
            }, z.core.$strip>, z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
                resourceType: z.ZodLiteral<"KeyframeStore<SpriteFrameKeyframe>">;
            }, z.core.$strip>, z.ZodObject<{
                resourceType: z.ZodLiteral<"KeyframeStore`1">;
                elementType: z.ZodLiteral<"SpriteFrameKeyframe">;
            }, z.core.$strip>], "resourceType">>>, z.ZodTransform<({
                Keyframes: ({
                    id: string;
                    Key: FixedNumber;
                    Length: FixedNumber;
                    Stretch: boolean;
                    Disabled: boolean;
                    IsCreationKey: boolean;
                    Channels: Record<string, {
                        Id: {
                            name: string;
                            path: string;
                        };
                        resourceVersion: string;
                        resourceType: "SpriteFrameKeyframe";
                    }>;
                    resourceVersion: string;
                } & ({
                    resourceType: "Keyframe`1";
                    elementType: "SpriteFrameKeyframe";
                } | {
                    resourceType: "Keyframe<SpriteFrameKeyframe>";
                }))[];
                resourceVersion: string;
            } & {
                resourceType: "KeyframeStore<SpriteFrameKeyframe>";
            }) | ({
                Keyframes: ({
                    id: string;
                    Key: FixedNumber;
                    Length: FixedNumber;
                    Stretch: boolean;
                    Disabled: boolean;
                    IsCreationKey: boolean;
                    Channels: Record<string, {
                        Id: {
                            name: string;
                            path: string;
                        };
                        resourceVersion: string;
                        resourceType: "SpriteFrameKeyframe";
                    }>;
                    resourceVersion: string;
                } & ({
                    resourceType: "Keyframe`1";
                    elementType: "SpriteFrameKeyframe";
                } | {
                    resourceType: "Keyframe<SpriteFrameKeyframe>";
                }))[];
                resourceVersion: string;
            } & {
                resourceType: "KeyframeStore`1";
                elementType: "SpriteFrameKeyframe";
            }), {
                Keyframes: ({
                    id: string;
                    Key: FixedNumber;
                    Length: FixedNumber;
                    Stretch: boolean;
                    Disabled: boolean;
                    IsCreationKey: boolean;
                    Channels: Record<string, {
                        Id: {
                            name: string;
                            path: string;
                        };
                        resourceVersion: string;
                        resourceType: "SpriteFrameKeyframe";
                    }>;
                    resourceVersion: string;
                } & ({
                    resourceType: "Keyframe`1";
                    elementType: "SpriteFrameKeyframe";
                } | {
                    resourceType: "Keyframe<SpriteFrameKeyframe>";
                }))[];
                resourceVersion: string;
            } & ({
                resourceType: "KeyframeStore<SpriteFrameKeyframe>";
            } | {
                resourceType: "KeyframeStore`1";
                elementType: "SpriteFrameKeyframe";
            })>>>;
        }, z.core.$strip>>>;
        /**
         * Matches the YYP resource's 'id' value.
         */
        spriteId: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
            name: z.ZodString;
            path: z.ZodString;
        }, z.core.$strip>>>;
        parent: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
            name: z.ZodString;
            path: z.ZodString;
        }, z.core.$strip>>>;
    }, z.core.$strip>>;
    layers: z.ZodPrefault<z.ZodArray<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDiscriminatedUnion<[z.ZodObject<{
        visible: z.ZodDefault<z.ZodBoolean>;
        isLocked: z.ZodDefault<z.ZodBoolean>;
        blendMode: z.ZodDefault<z.ZodEnum<typeof SpriteLayerBlendMode>>;
        opacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
        displayName: z.ZodDefault<z.ZodString>;
        resourceVersion: z.ZodDefault<z.ZodString>;
        /**
         * The unique GUID for this layer, used by Frames in their LayerId field.
         */
        name: z.ZodDefault<z.ZodString>;
        /** Seems to be unused -- always an empty array. */
        tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
        resourceType: z.ZodDefault<z.ZodLiteral<"GMImageLayer">>;
    }, z.core.$strip>, z.ZodObject<{
        resourceType: z.ZodDefault<z.ZodLiteral<"GMImageFolderLayer">>;
        resourceVersion: z.ZodDefault<z.ZodString>;
        name: z.ZodDefault<z.ZodString>;
        blendMode: z.ZodDefault<z.ZodEnum<typeof SpriteLayerBlendMode>>;
        displayName: z.ZodDefault<z.ZodString>;
        isLocked: z.ZodDefault<z.ZodBoolean>;
        opacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
        visible: z.ZodDefault<z.ZodBoolean>;
        layers: z.ZodDefault<z.ZodArray<z.ZodObject<{
            visible: z.ZodDefault<z.ZodBoolean>;
            isLocked: z.ZodDefault<z.ZodBoolean>;
            blendMode: z.ZodDefault<z.ZodEnum<typeof SpriteLayerBlendMode>>;
            opacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
            displayName: z.ZodDefault<z.ZodString>;
            resourceVersion: z.ZodDefault<z.ZodString>;
            /**
             * The unique GUID for this layer, used by Frames in their LayerId field.
             */
            name: z.ZodDefault<z.ZodString>;
            /** Seems to be unused -- always an empty array. */
            tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
            resourceType: z.ZodDefault<z.ZodLiteral<"GMImageLayer">>;
        }, z.core.$strip>>>;
    }, z.core.$strip>], "resourceType">>>>;
    resourceType: z.ZodDefault<z.ZodLiteral<"GMSprite">>;
    nineSlice: z.ZodDefault<z.ZodOptional<z.ZodUnknown>>;
}, z.core.$strip>, z.ZodTransform<{
    name: string;
    parent: {
        name: string;
        path: string;
    };
    resourceVersion: string;
    bboxMode: SpriteBoundingBoxMode;
    collisionKind: SpriteCollisionKind;
    type: SpriteType;
    origin: SpriteOrigin;
    preMultiplyAlpha: boolean;
    edgeFiltering: boolean;
    collisionTolerance: number;
    swfPrecision: number;
    bbox_left: number;
    bbox_right: number;
    bbox_top: number;
    bbox_bottom: number;
    HTile: boolean;
    VTile: boolean;
    For3D: boolean;
    DynamicTexturePage: boolean;
    width: number;
    height: number;
    textureGroupId: {
        name: string;
        path: string;
    };
    swatchColours: unknown;
    gridX: number;
    gridY: number;
    frames: {
        name: string;
        resourceType: "GMSpriteFrame";
        resourceVersion: string;
        tags?: string[] | undefined;
        compositeImage?: {
            FrameId: {
                name: string;
                path: string;
            };
            resourceVersion: "1.0";
            name: string;
            resourceType: "GMSpriteBitmap";
            LayerId: null;
            tags?: string[] | undefined;
        } | undefined;
        images?: {
            FrameId: {
                name: string;
                path: string;
            };
            resourceVersion: "1.0";
            name: string;
            resourceType: "GMSpriteBitmap";
            LayerId: {
                name: string;
                path: string;
            };
            tags?: string[] | undefined;
        }[] | undefined;
        parent?: {
            name: string;
            path: string;
        } | undefined;
    }[];
    sequence: {
        timeUnits: number;
        playback: number;
        playbackSpeed: FixedNumber;
        playbackSpeedType: SpritePlaybackSpeedType;
        autoRecord: boolean;
        volume: FixedNumber;
        length: FixedNumber;
        visibleRange: {
            x: FixedNumber;
            y: FixedNumber;
        } | null;
        lockOrigin: boolean;
        showBackdrop: boolean;
        showBackdropImage: boolean;
        backdropImagePath: string;
        backdropImageOpacity: FixedNumber;
        backdropWidth: number;
        backdropHeight: number;
        backdropXOffset: FixedNumber;
        backdropYOffset: FixedNumber;
        xorigin: number;
        yorigin: number;
        eventToFunction: unknown;
        eventStubScript: unknown;
        resourceType: "GMSequence";
        resourceVersion: string;
        events: {
            Keyframes: unknown[];
            resourceVersion: string;
        } & ({
            resourceType: "KeyframeStore<MessageEventKeyframe>";
        } | {
            resourceType: "KeyframeStore`1";
            elementType: "MessageEventKeyframe";
        });
        moments: {
            Keyframes: unknown[];
            resourceVersion: string;
        } & ({
            resourceType: "KeyframeStore<MomentsEventKeyframe>";
        } | {
            resourceType: "KeyframeStore`1";
            elementType: "MomentsEventKeyframe";
        });
        tracks: {
            name: string;
            spriteId: unknown;
            trackColour: number;
            inheritsTrackColour: boolean;
            builtinName: number;
            traits: number;
            interpolation: number;
            tracks: unknown[];
            events: unknown[];
            modifiers: unknown[];
            isCreationTrack: boolean;
            resourceVersion: string;
            resourceType: "GMSpriteFramesTrack";
            keyframes: ({
                Keyframes: ({
                    id: string;
                    Key: FixedNumber;
                    Length: FixedNumber;
                    Stretch: boolean;
                    Disabled: boolean;
                    IsCreationKey: boolean;
                    Channels: Record<string, {
                        Id: {
                            name: string;
                            path: string;
                        };
                        resourceVersion: string;
                        resourceType: "SpriteFrameKeyframe";
                    }>;
                    resourceVersion: string;
                } & ({
                    resourceType: "Keyframe`1";
                    elementType: "SpriteFrameKeyframe";
                } | {
                    resourceType: "Keyframe<SpriteFrameKeyframe>";
                }))[];
                resourceVersion: string;
            } & {
                resourceType: "KeyframeStore<SpriteFrameKeyframe>";
            }) | ({
                Keyframes: ({
                    id: string;
                    Key: FixedNumber;
                    Length: FixedNumber;
                    Stretch: boolean;
                    Disabled: boolean;
                    IsCreationKey: boolean;
                    Channels: Record<string, {
                        Id: {
                            name: string;
                            path: string;
                        };
                        resourceVersion: string;
                        resourceType: "SpriteFrameKeyframe";
                    }>;
                    resourceVersion: string;
                } & ({
                    resourceType: "Keyframe`1";
                    elementType: "SpriteFrameKeyframe";
                } | {
                    resourceType: "Keyframe<SpriteFrameKeyframe>";
                }))[];
                resourceVersion: string;
            } & {
                resourceType: "KeyframeStore`1";
                elementType: "SpriteFrameKeyframe";
            });
            tags?: string[] | undefined;
        }[];
        name?: string | undefined;
        tags?: string[] | undefined;
        spriteId?: {
            name: string;
            path: string;
        } | undefined;
        parent?: {
            name: string;
            path: string;
        } | undefined;
    };
    layers: ({
        visible: boolean;
        isLocked: boolean;
        blendMode: SpriteLayerBlendMode;
        opacity: FixedNumber;
        displayName: string;
        resourceVersion: string;
        name: string;
        resourceType: "GMImageLayer";
        tags?: string[] | undefined;
    } | {
        resourceType: "GMImageFolderLayer";
        resourceVersion: string;
        name: string;
        blendMode: SpriteLayerBlendMode;
        displayName: string;
        isLocked: boolean;
        opacity: FixedNumber;
        visible: boolean;
        layers: {
            visible: boolean;
            isLocked: boolean;
            blendMode: SpriteLayerBlendMode;
            opacity: FixedNumber;
            displayName: string;
            resourceVersion: string;
            name: string;
            resourceType: "GMImageLayer";
            tags?: string[] | undefined;
        }[];
    })[];
    resourceType: "GMSprite";
    nineSlice: unknown;
    "%Name"?: string | undefined;
    ConfigValues?: Record<string, Record<string, string>> | undefined;
    tags?: string[] | undefined;
}, {
    name: string;
    parent: {
        name: string;
        path: string;
    };
    resourceVersion: string;
    bboxMode: SpriteBoundingBoxMode;
    collisionKind: SpriteCollisionKind;
    type: SpriteType;
    origin: SpriteOrigin;
    preMultiplyAlpha: boolean;
    edgeFiltering: boolean;
    collisionTolerance: number;
    swfPrecision: number;
    bbox_left: number;
    bbox_right: number;
    bbox_top: number;
    bbox_bottom: number;
    HTile: boolean;
    VTile: boolean;
    For3D: boolean;
    DynamicTexturePage: boolean;
    width: number;
    height: number;
    textureGroupId: {
        name: string;
        path: string;
    };
    swatchColours: unknown;
    gridX: number;
    gridY: number;
    frames: {
        name: string;
        resourceType: "GMSpriteFrame";
        resourceVersion: string;
        tags?: string[] | undefined;
        compositeImage?: {
            FrameId: {
                name: string;
                path: string;
            };
            resourceVersion: "1.0";
            name: string;
            resourceType: "GMSpriteBitmap";
            LayerId: null;
            tags?: string[] | undefined;
        } | undefined;
        images?: {
            FrameId: {
                name: string;
                path: string;
            };
            resourceVersion: "1.0";
            name: string;
            resourceType: "GMSpriteBitmap";
            LayerId: {
                name: string;
                path: string;
            };
            tags?: string[] | undefined;
        }[] | undefined;
        parent?: {
            name: string;
            path: string;
        } | undefined;
    }[];
    sequence: {
        timeUnits: number;
        playback: number;
        playbackSpeed: FixedNumber;
        playbackSpeedType: SpritePlaybackSpeedType;
        autoRecord: boolean;
        volume: FixedNumber;
        length: FixedNumber;
        visibleRange: {
            x: FixedNumber;
            y: FixedNumber;
        } | null;
        lockOrigin: boolean;
        showBackdrop: boolean;
        showBackdropImage: boolean;
        backdropImagePath: string;
        backdropImageOpacity: FixedNumber;
        backdropWidth: number;
        backdropHeight: number;
        backdropXOffset: FixedNumber;
        backdropYOffset: FixedNumber;
        xorigin: number;
        yorigin: number;
        eventToFunction: unknown;
        eventStubScript: unknown;
        resourceType: "GMSequence";
        resourceVersion: string;
        events: {
            Keyframes: unknown[];
            resourceVersion: string;
        } & ({
            resourceType: "KeyframeStore<MessageEventKeyframe>";
        } | {
            resourceType: "KeyframeStore`1";
            elementType: "MessageEventKeyframe";
        });
        moments: {
            Keyframes: unknown[];
            resourceVersion: string;
        } & ({
            resourceType: "KeyframeStore<MomentsEventKeyframe>";
        } | {
            resourceType: "KeyframeStore`1";
            elementType: "MomentsEventKeyframe";
        });
        tracks: {
            name: string;
            spriteId: unknown;
            trackColour: number;
            inheritsTrackColour: boolean;
            builtinName: number;
            traits: number;
            interpolation: number;
            tracks: unknown[];
            events: unknown[];
            modifiers: unknown[];
            isCreationTrack: boolean;
            resourceVersion: string;
            resourceType: "GMSpriteFramesTrack";
            keyframes: ({
                Keyframes: ({
                    id: string;
                    Key: FixedNumber;
                    Length: FixedNumber;
                    Stretch: boolean;
                    Disabled: boolean;
                    IsCreationKey: boolean;
                    Channels: Record<string, {
                        Id: {
                            name: string;
                            path: string;
                        };
                        resourceVersion: string;
                        resourceType: "SpriteFrameKeyframe";
                    }>;
                    resourceVersion: string;
                } & ({
                    resourceType: "Keyframe`1";
                    elementType: "SpriteFrameKeyframe";
                } | {
                    resourceType: "Keyframe<SpriteFrameKeyframe>";
                }))[];
                resourceVersion: string;
            } & {
                resourceType: "KeyframeStore<SpriteFrameKeyframe>";
            }) | ({
                Keyframes: ({
                    id: string;
                    Key: FixedNumber;
                    Length: FixedNumber;
                    Stretch: boolean;
                    Disabled: boolean;
                    IsCreationKey: boolean;
                    Channels: Record<string, {
                        Id: {
                            name: string;
                            path: string;
                        };
                        resourceVersion: string;
                        resourceType: "SpriteFrameKeyframe";
                    }>;
                    resourceVersion: string;
                } & ({
                    resourceType: "Keyframe`1";
                    elementType: "SpriteFrameKeyframe";
                } | {
                    resourceType: "Keyframe<SpriteFrameKeyframe>";
                }))[];
                resourceVersion: string;
            } & {
                resourceType: "KeyframeStore`1";
                elementType: "SpriteFrameKeyframe";
            });
            tags?: string[] | undefined;
        }[];
        name?: string | undefined;
        tags?: string[] | undefined;
        spriteId?: {
            name: string;
            path: string;
        } | undefined;
        parent?: {
            name: string;
            path: string;
        } | undefined;
    };
    layers: ({
        visible: boolean;
        isLocked: boolean;
        blendMode: SpriteLayerBlendMode;
        opacity: FixedNumber;
        displayName: string;
        resourceVersion: string;
        name: string;
        resourceType: "GMImageLayer";
        tags?: string[] | undefined;
    } | {
        resourceType: "GMImageFolderLayer";
        resourceVersion: string;
        name: string;
        blendMode: SpriteLayerBlendMode;
        displayName: string;
        isLocked: boolean;
        opacity: FixedNumber;
        visible: boolean;
        layers: {
            visible: boolean;
            isLocked: boolean;
            blendMode: SpriteLayerBlendMode;
            opacity: FixedNumber;
            displayName: string;
            resourceVersion: string;
            name: string;
            resourceType: "GMImageLayer";
            tags?: string[] | undefined;
        }[];
    })[];
    resourceType: "GMSprite";
    nineSlice: unknown;
    "%Name"?: string | undefined;
    ConfigValues?: Record<string, Record<string, string>> | undefined;
    tags?: string[] | undefined;
}>>>;
export {};
//# sourceMappingURL=YySprite.d.ts.map