import { z } from 'zod';
export declare const yyObjectEventNums: {
    Create: 0;
    Destroy: 1;
    Alarm: 2;
    Step: 3;
    Draw: 8;
    Cleanup: 12;
};
export declare const yyObjectEventNames: import("@bscotch/utility").Inverted<{
    Create: 0;
    Destroy: 1;
    Alarm: 2;
    Step: 3;
    Draw: 8;
    Cleanup: 12;
}>;
export type YyObjectEventNumbers = typeof yyObjectEventNums;
export type YyObjectEventNames = typeof yyObjectEventNames;
export type YyObjectEventName = keyof YyObjectEventNumbers;
export type YyObjectEventNumber = keyof YyObjectEventNames;
export declare enum YyObjectPropertyVarType {
    Real = 0,
    Integer = 1,
    String = 2,
    Boolean = 3,
    Expression = 4,
    Asset = 5,
    List = 6,
    Colour = 7
}
export type YyObjectEvent = z.infer<typeof yyObjectEventSchema>;
export declare const yyObjectEventSchema: z.ZodObject<{
    isDnD: z.ZodDefault<z.ZodBoolean>;
    /**
     * Numeric identifier for an event subtype.
     * E.g. "Step End" has eventType for Step and
     * eventNum for End.
     */
    eventNum: z.ZodDefault<z.ZodNumber>;
    /**
     * Numeric identifier representing the event type (e.g. for the Create or Draw events)
     */
    eventType: z.ZodNumber;
    collisionObjectId: z.ZodDefault<z.ZodNullable<z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        path: string;
        name: string;
    }, {
        path: string;
        name: string;
    }>>>;
    name: z.ZodDefault<z.ZodString>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    resourceVersion: z.ZodDefault<z.ZodString>;
    resourceType: z.ZodDefault<z.ZodLiteral<"GMEvent">>;
    parent: z.ZodOptional<z.ZodUnknown>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    name: string;
    resourceType: "GMEvent";
    resourceVersion: string;
    isDnD: boolean;
    eventNum: number;
    eventType: number;
    collisionObjectId: {
        path: string;
        name: string;
    } | null;
    tags?: string[] | undefined;
    parent?: unknown;
}, {
    eventType: number;
    name?: string | undefined;
    resourceType?: "GMEvent" | undefined;
    tags?: string[] | undefined;
    parent?: unknown;
    resourceVersion?: string | undefined;
    isDnD?: boolean | undefined;
    eventNum?: number | undefined;
    collisionObjectId?: {
        path: string;
        name: string;
    } | null | undefined;
}>;
export type YyObjectProperty = z.infer<typeof yyObjectPropertySchema>;
export declare const yyObjectPropertySchema: z.ZodObject<{
    /** The variable's name */
    name: z.ZodString;
    varType: z.ZodNativeEnum<typeof YyObjectPropertyVarType>;
    /** Stringified starting value. If a color, prefixed with a '$' (unkown format). */
    value: z.ZodString;
    rangeEnabled: z.ZodDefault<z.ZodBoolean>;
    /** (Unknown parameter) */
    rangeMin: z.ZodNumber;
    /** (Unknown parameter) */
    rangeMax: z.ZodNumber;
    /**
     * Always exists, but only meaningful for Lists
     */
    listItems: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
    /**
     * Always exists, but only meaningful for Lists
     */
    multiselect: z.ZodDefault<z.ZodBoolean>;
    /**
     * (Unknown parameter)
     */
    filters: z.ZodDefault<z.ZodArray<z.ZodUnknown, "many">>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    resourceVersion: z.ZodDefault<z.ZodString>;
    resourceType: z.ZodDefault<z.ZodLiteral<"GMObjectProperty">>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    value: string;
    name: string;
    resourceType: "GMObjectProperty";
    resourceVersion: string;
    varType: YyObjectPropertyVarType;
    rangeEnabled: boolean;
    rangeMin: number;
    rangeMax: number;
    listItems: string[] | null;
    multiselect: boolean;
    filters: unknown[];
    tags?: string[] | undefined;
}, {
    value: string;
    name: string;
    varType: YyObjectPropertyVarType;
    rangeMin: number;
    rangeMax: number;
    resourceType?: "GMObjectProperty" | undefined;
    tags?: string[] | undefined;
    resourceVersion?: string | undefined;
    rangeEnabled?: boolean | undefined;
    listItems?: string[] | null | undefined;
    multiselect?: boolean | undefined;
    filters?: unknown[] | undefined;
}>;
export type YyObject = z.infer<typeof yyObjectSchema>;
export declare const yyObjectSchema: z.ZodObject<z.objectUtil.extendShape<{
    "%Name": z.ZodOptional<z.ZodString>;
    ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
    name: z.ZodString;
    resourceType: z.ZodString;
    tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    parent: z.ZodDefault<z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        path: string;
        name: string;
    }, {
        path: string;
        name: string;
    }>>;
    resourceVersion: z.ZodDefault<z.ZodString>;
}, {
    spriteId: z.ZodDefault<z.ZodNullable<z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        path: string;
        name: string;
    }, {
        path: string;
        name: string;
    }>>>;
    solid: z.ZodDefault<z.ZodBoolean>;
    visible: z.ZodDefault<z.ZodBoolean>;
    /**
     * If self (default) can be set to null
     */
    spriteMaskId: z.ZodDefault<z.ZodNullable<z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        path: string;
        name: string;
    }, {
        path: string;
        name: string;
    }>>>;
    persistent: z.ZodDefault<z.ZodBoolean>;
    parentObjectId: z.ZodDefault<z.ZodNullable<z.ZodObject<{
        name: z.ZodString;
        path: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        path: string;
        name: string;
    }, {
        path: string;
        name: string;
    }>>>;
    physicsObject: z.ZodDefault<z.ZodBoolean>;
    physicsSensor: z.ZodDefault<z.ZodBoolean>;
    physicsShape: z.ZodDefault<z.ZodNumber>;
    physicsGroup: z.ZodDefault<z.ZodNumber>;
    physicsDensity: z.ZodDefault<z.ZodNumber>;
    physicsRestitution: z.ZodDefault<z.ZodNumber>;
    physicsLinearDamping: z.ZodDefault<z.ZodNumber>;
    physicsAngularDamping: z.ZodDefault<z.ZodNumber>;
    physicsFriction: z.ZodDefault<z.ZodNumber>;
    physicsStartAwake: z.ZodDefault<z.ZodBoolean>;
    physicsKinematic: z.ZodDefault<z.ZodBoolean>;
    physicsShapePoints: z.ZodDefault<z.ZodArray<z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        x: number;
        y: number;
    }, {
        x: number;
        y: number;
    }>, "many">>;
    eventList: z.ZodDefault<z.ZodArray<z.ZodObject<{
        isDnD: z.ZodDefault<z.ZodBoolean>;
        /**
         * Numeric identifier for an event subtype.
         * E.g. "Step End" has eventType for Step and
         * eventNum for End.
         */
        eventNum: z.ZodDefault<z.ZodNumber>;
        /**
         * Numeric identifier representing the event type (e.g. for the Create or Draw events)
         */
        eventType: z.ZodNumber;
        collisionObjectId: z.ZodDefault<z.ZodNullable<z.ZodObject<{
            name: z.ZodString;
            path: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            path: string;
            name: string;
        }, {
            path: string;
            name: string;
        }>>>;
        name: z.ZodDefault<z.ZodString>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        resourceVersion: z.ZodDefault<z.ZodString>;
        resourceType: z.ZodDefault<z.ZodLiteral<"GMEvent">>;
        parent: z.ZodOptional<z.ZodUnknown>;
    }, z.UnknownKeysParam, z.ZodTypeAny, {
        name: string;
        resourceType: "GMEvent";
        resourceVersion: string;
        isDnD: boolean;
        eventNum: number;
        eventType: number;
        collisionObjectId: {
            path: string;
            name: string;
        } | null;
        tags?: string[] | undefined;
        parent?: unknown;
    }, {
        eventType: number;
        name?: string | undefined;
        resourceType?: "GMEvent" | undefined;
        tags?: string[] | undefined;
        parent?: unknown;
        resourceVersion?: string | undefined;
        isDnD?: boolean | undefined;
        eventNum?: number | undefined;
        collisionObjectId?: {
            path: string;
            name: string;
        } | null | undefined;
    }>, "many">>;
    properties: z.ZodDefault<z.ZodArray<z.ZodObject<{
        /** The variable's name */
        name: z.ZodString;
        varType: z.ZodNativeEnum<typeof YyObjectPropertyVarType>;
        /** Stringified starting value. If a color, prefixed with a '$' (unkown format). */
        value: z.ZodString;
        rangeEnabled: z.ZodDefault<z.ZodBoolean>;
        /** (Unknown parameter) */
        rangeMin: z.ZodNumber;
        /** (Unknown parameter) */
        rangeMax: z.ZodNumber;
        /**
         * Always exists, but only meaningful for Lists
         */
        listItems: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
        /**
         * Always exists, but only meaningful for Lists
         */
        multiselect: z.ZodDefault<z.ZodBoolean>;
        /**
         * (Unknown parameter)
         */
        filters: z.ZodDefault<z.ZodArray<z.ZodUnknown, "many">>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        resourceVersion: z.ZodDefault<z.ZodString>;
        resourceType: z.ZodDefault<z.ZodLiteral<"GMObjectProperty">>;
    }, z.UnknownKeysParam, z.ZodTypeAny, {
        value: string;
        name: string;
        resourceType: "GMObjectProperty";
        resourceVersion: string;
        varType: YyObjectPropertyVarType;
        rangeEnabled: boolean;
        rangeMin: number;
        rangeMax: number;
        listItems: string[] | null;
        multiselect: boolean;
        filters: unknown[];
        tags?: string[] | undefined;
    }, {
        value: string;
        name: string;
        varType: YyObjectPropertyVarType;
        rangeMin: number;
        rangeMax: number;
        resourceType?: "GMObjectProperty" | undefined;
        tags?: string[] | undefined;
        resourceVersion?: string | undefined;
        rangeEnabled?: boolean | undefined;
        listItems?: string[] | null | undefined;
        multiselect?: boolean | undefined;
        filters?: unknown[] | undefined;
    }>, "many">>;
    /**
     * (Unknown parameter)
     */
    overriddenProperties: z.ZodDefault<z.ZodArray<z.ZodUnknown, "many">>;
    managed: z.ZodDefault<z.ZodBoolean>;
    resourceType: z.ZodDefault<z.ZodLiteral<"GMObject">>;
}>, z.UnknownKeysParam, z.ZodTypeAny, {
    name: string;
    resourceType: "GMObject";
    parent: {
        path: string;
        name: string;
    };
    resourceVersion: string;
    spriteId: {
        path: string;
        name: string;
    } | null;
    solid: boolean;
    visible: boolean;
    spriteMaskId: {
        path: string;
        name: string;
    } | null;
    persistent: boolean;
    parentObjectId: {
        path: string;
        name: string;
    } | null;
    physicsObject: boolean;
    physicsSensor: boolean;
    physicsShape: number;
    physicsGroup: number;
    physicsDensity: number;
    physicsRestitution: number;
    physicsLinearDamping: number;
    physicsAngularDamping: number;
    physicsFriction: number;
    physicsStartAwake: boolean;
    physicsKinematic: boolean;
    physicsShapePoints: {
        x: number;
        y: number;
    }[];
    eventList: {
        name: string;
        resourceType: "GMEvent";
        resourceVersion: string;
        isDnD: boolean;
        eventNum: number;
        eventType: number;
        collisionObjectId: {
            path: string;
            name: string;
        } | null;
        tags?: string[] | undefined;
        parent?: unknown;
    }[];
    properties: {
        value: string;
        name: string;
        resourceType: "GMObjectProperty";
        resourceVersion: string;
        varType: YyObjectPropertyVarType;
        rangeEnabled: boolean;
        rangeMin: number;
        rangeMax: number;
        listItems: string[] | null;
        multiselect: boolean;
        filters: unknown[];
        tags?: string[] | undefined;
    }[];
    overriddenProperties: unknown[];
    managed: boolean;
    "%Name"?: string | undefined;
    ConfigValues?: Record<string, Record<string, string>> | undefined;
    tags?: string[] | undefined;
}, {
    name: string;
    "%Name"?: string | undefined;
    ConfigValues?: Record<string, Record<string, string>> | undefined;
    resourceType?: "GMObject" | undefined;
    tags?: string[] | undefined;
    parent?: {
        path: string;
        name: string;
    } | undefined;
    resourceVersion?: string | undefined;
    spriteId?: {
        path: string;
        name: string;
    } | null | undefined;
    solid?: boolean | undefined;
    visible?: boolean | undefined;
    spriteMaskId?: {
        path: string;
        name: string;
    } | null | undefined;
    persistent?: boolean | undefined;
    parentObjectId?: {
        path: string;
        name: string;
    } | null | undefined;
    physicsObject?: boolean | undefined;
    physicsSensor?: boolean | undefined;
    physicsShape?: number | undefined;
    physicsGroup?: number | undefined;
    physicsDensity?: number | undefined;
    physicsRestitution?: number | undefined;
    physicsLinearDamping?: number | undefined;
    physicsAngularDamping?: number | undefined;
    physicsFriction?: number | undefined;
    physicsStartAwake?: boolean | undefined;
    physicsKinematic?: boolean | undefined;
    physicsShapePoints?: {
        x: number;
        y: number;
    }[] | undefined;
    eventList?: {
        eventType: number;
        name?: string | undefined;
        resourceType?: "GMEvent" | undefined;
        tags?: string[] | undefined;
        parent?: unknown;
        resourceVersion?: string | undefined;
        isDnD?: boolean | undefined;
        eventNum?: number | undefined;
        collisionObjectId?: {
            path: string;
            name: string;
        } | null | undefined;
    }[] | undefined;
    properties?: {
        value: string;
        name: string;
        varType: YyObjectPropertyVarType;
        rangeMin: number;
        rangeMax: number;
        resourceType?: "GMObjectProperty" | undefined;
        tags?: string[] | undefined;
        resourceVersion?: string | undefined;
        rangeEnabled?: boolean | undefined;
        listItems?: string[] | null | undefined;
        multiselect?: boolean | undefined;
        filters?: unknown[] | undefined;
    }[] | undefined;
    overriddenProperties?: unknown[] | undefined;
    managed?: boolean | undefined;
}>;
//# sourceMappingURL=YyObject.d.ts.map