UNPKG

@bscotch/yy

Version:

Stringify, parse, read, and write GameMaker yy and yyp files.

1,152 lines 465 kB
import { PartialDeep } from 'type-fest'; import { Schema, z } from 'zod'; import { YyResourceType } from './types/YyBase.js'; import { Yyp } from './types/Yyp.js'; export type YySchemaRef = YyResourceType | 'project' | Schema | undefined; export type YySchemaName = keyof YySchemas; export type YySchema<T extends YySchemaRef> = T extends YySchemaName ? YySchemas[T] : T extends Schema ? T : unknown; export type YyDataStrict<T extends YySchemaRef> = T extends undefined ? unknown : z.output<YySchema<Exclude<T, undefined>>>; export type YyDataLoose<T extends YySchemaRef> = T extends undefined ? unknown : z.input<YySchema<Exclude<T, undefined>>>; export type YySchemas = typeof yySchemas; export declare const yySchemas: { readonly project: z.ZodEffects<z.ZodObject<{ "%Name": z.ZodOptional<z.ZodString>; name: z.ZodString; resourceType: z.ZodDefault<z.ZodLiteral<"GMProject">>; resources: z.ZodDefault<z.ZodArray<z.ZodObject<{ id: z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; }, { path: string; name: string; }>; order: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { id: { path: string; name: string; }; order?: number | undefined; }, { id: { path: string; name: string; }; order?: number | undefined; }>, "many">>; RoomOrderNodes: z.ZodDefault<z.ZodArray<z.ZodObject<{ roomId: z.ZodEffects<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; }, { path: string; name: string; }>, { path: string; name: string; }, unknown>; }, "strip", z.ZodTypeAny, { roomId: { path: string; name: string; }; }, { roomId?: unknown; }>, "many">>; Options: z.ZodOptional<z.ZodArray<z.ZodObject<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>; name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; ConfigValues?: Record<string, Record<string, string>> | undefined; }, { path: string; name: string; ConfigValues?: Record<string, Record<string, string>> | undefined; }>, "many">>; isDnDProject: z.ZodOptional<z.ZodBoolean>; defaultScriptType: z.ZodDefault<z.ZodNumber>; isEcma: z.ZodDefault<z.ZodBoolean>; tutorialPath: z.ZodOptional<z.ZodString>; configs: z.ZodObject<{ name: z.ZodDefault<z.ZodLiteral<"Default">>; children: z.ZodDefault<z.ZodArray<Schema<import("./types/Yyp.js").YypConfig, z.ZodTypeDef, import("./types/Yyp.js").YypConfig>, "many">>; }, "strip", z.ZodTypeAny, { name: "Default"; children: import("./types/Yyp.js").YypConfig[]; }, { name?: "Default" | undefined; children?: import("./types/Yyp.js").YypConfig[] | undefined; }>; Folders: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{ name: z.ZodString; tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; folderPath: z.ZodString; order: z.ZodOptional<z.ZodNumber>; resourceType: z.ZodDefault<z.ZodLiteral<"GMFolder">>; resourceVersion: z.ZodDefault<z.ZodString>; }, "strip", z.ZodTypeAny, { name: string; resourceType: "GMFolder"; resourceVersion: string; folderPath: string; tags?: string[] | undefined; order?: number | undefined; }, { name: string; folderPath: string; resourceType?: "GMFolder" | undefined; tags?: string[] | undefined; resourceVersion?: string | undefined; order?: number | undefined; }>, { name: string; resourceType: "GMFolder"; resourceVersion: string; folderPath: string; tags?: string[] | undefined; order?: number | undefined; }, unknown>, "many">>; AudioGroups: z.ZodDefault<z.ZodArray<z.ZodObject<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>; name: z.ZodString; targets: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>, bigint, number | bigint>>; resourceType: z.ZodDefault<z.ZodLiteral<"GMAudioGroup">>; resourceVersion: z.ZodDefault<z.ZodString>; }, "strip", z.ZodTypeAny, { name: string; resourceType: "GMAudioGroup"; resourceVersion: string; targets: bigint; ConfigValues?: Record<string, Record<string, string>> | undefined; }, { name: string; ConfigValues?: Record<string, Record<string, string>> | undefined; resourceType?: "GMAudioGroup" | undefined; resourceVersion?: string | undefined; targets?: number | bigint | undefined; }>, "many">>; TextureGroups: z.ZodDefault<z.ZodArray<z.ZodObject<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>; name: z.ZodString; groupParent: z.ZodDefault<z.ZodNullable<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; }, { path: string; name: string; }>>>; isScaled: z.ZodDefault<z.ZodBoolean>; customOptions: z.ZodDefault<z.ZodString>; compressFormat: z.ZodDefault<z.ZodString>; autocrop: z.ZodDefault<z.ZodBoolean>; border: z.ZodDefault<z.ZodNumber>; mipsToGenerate: z.ZodDefault<z.ZodNumber>; targets: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>, bigint, number | bigint>>; loadType: z.ZodDefault<z.ZodEnum<["default", "dynamicpages"]>>; directory: z.ZodDefault<z.ZodString>; resourceType: z.ZodDefault<z.ZodLiteral<"GMTextureGroup">>; resourceVersion: z.ZodDefault<z.ZodString>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>; name: z.ZodString; groupParent: z.ZodDefault<z.ZodNullable<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; }, { path: string; name: string; }>>>; isScaled: z.ZodDefault<z.ZodBoolean>; customOptions: z.ZodDefault<z.ZodString>; compressFormat: z.ZodDefault<z.ZodString>; autocrop: z.ZodDefault<z.ZodBoolean>; border: z.ZodDefault<z.ZodNumber>; mipsToGenerate: z.ZodDefault<z.ZodNumber>; targets: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>, bigint, number | bigint>>; loadType: z.ZodDefault<z.ZodEnum<["default", "dynamicpages"]>>; directory: z.ZodDefault<z.ZodString>; resourceType: z.ZodDefault<z.ZodLiteral<"GMTextureGroup">>; resourceVersion: z.ZodDefault<z.ZodString>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>; name: z.ZodString; groupParent: z.ZodDefault<z.ZodNullable<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; }, { path: string; name: string; }>>>; isScaled: z.ZodDefault<z.ZodBoolean>; customOptions: z.ZodDefault<z.ZodString>; compressFormat: z.ZodDefault<z.ZodString>; autocrop: z.ZodDefault<z.ZodBoolean>; border: z.ZodDefault<z.ZodNumber>; mipsToGenerate: z.ZodDefault<z.ZodNumber>; targets: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>, bigint, number | bigint>>; loadType: z.ZodDefault<z.ZodEnum<["default", "dynamicpages"]>>; directory: z.ZodDefault<z.ZodString>; resourceType: z.ZodDefault<z.ZodLiteral<"GMTextureGroup">>; resourceVersion: z.ZodDefault<z.ZodString>; }, z.ZodTypeAny, "passthrough">>, "many">>; /** * Synchronous version of {@link Yy.write}. * * @param yyp If provided, the yyp will be used to determine format information */ IncludedFiles: z.ZodDefault<z.ZodArray<z.ZodObject<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{ CopyToMask: z.ZodString; }, "strip", z.ZodTypeAny, { CopyToMask: string; }, { CopyToMask: string; }>>>; name: z.ZodString; CopyToMask: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>, bigint, number | bigint>>; filePath: z.ZodString; resourceType: z.ZodDefault<z.ZodLiteral<"GMIncludedFile">>; resourceVersion: z.ZodDefault<z.ZodString>; }, "strip", z.ZodTypeAny, { name: string; resourceType: "GMIncludedFile"; resourceVersion: string; CopyToMask: bigint; filePath: string; ConfigValues?: Record<string, { CopyToMask: string; }> | undefined; }, { name: string; filePath: string; ConfigValues?: Record<string, { CopyToMask: string; }> | undefined; resourceType?: "GMIncludedFile" | undefined; resourceVersion?: string | undefined; CopyToMask?: number | bigint | undefined; }>, "many">>; MetaData: z.ZodObject<{ IDEVersion: z.ZodString; }, "strip", z.ZodTypeAny, { IDEVersion: string; }, { IDEVersion: string; }>; LibraryEmitters: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>; resourceVersion: z.ZodString; tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ "%Name": z.ZodOptional<z.ZodString>; name: z.ZodString; resourceType: z.ZodDefault<z.ZodLiteral<"GMProject">>; resources: z.ZodDefault<z.ZodArray<z.ZodObject<{ id: z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; }, { path: string; name: string; }>; order: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { id: { path: string; name: string; }; order?: number | undefined; }, { id: { path: string; name: string; }; order?: number | undefined; }>, "many">>; RoomOrderNodes: z.ZodDefault<z.ZodArray<z.ZodObject<{ roomId: z.ZodEffects<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; }, { path: string; name: string; }>, { path: string; name: string; }, unknown>; }, "strip", z.ZodTypeAny, { roomId: { path: string; name: string; }; }, { roomId?: unknown; }>, "many">>; Options: z.ZodOptional<z.ZodArray<z.ZodObject<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>; name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; ConfigValues?: Record<string, Record<string, string>> | undefined; }, { path: string; name: string; ConfigValues?: Record<string, Record<string, string>> | undefined; }>, "many">>; isDnDProject: z.ZodOptional<z.ZodBoolean>; defaultScriptType: z.ZodDefault<z.ZodNumber>; isEcma: z.ZodDefault<z.ZodBoolean>; tutorialPath: z.ZodOptional<z.ZodString>; configs: z.ZodObject<{ name: z.ZodDefault<z.ZodLiteral<"Default">>; children: z.ZodDefault<z.ZodArray<Schema<import("./types/Yyp.js").YypConfig, z.ZodTypeDef, import("./types/Yyp.js").YypConfig>, "many">>; }, "strip", z.ZodTypeAny, { name: "Default"; children: import("./types/Yyp.js").YypConfig[]; }, { name?: "Default" | undefined; children?: import("./types/Yyp.js").YypConfig[] | undefined; }>; Folders: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{ name: z.ZodString; tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; folderPath: z.ZodString; order: z.ZodOptional<z.ZodNumber>; resourceType: z.ZodDefault<z.ZodLiteral<"GMFolder">>; resourceVersion: z.ZodDefault<z.ZodString>; }, "strip", z.ZodTypeAny, { name: string; resourceType: "GMFolder"; resourceVersion: string; folderPath: string; tags?: string[] | undefined; order?: number | undefined; }, { name: string; folderPath: string; resourceType?: "GMFolder" | undefined; tags?: string[] | undefined; resourceVersion?: string | undefined; order?: number | undefined; }>, { name: string; resourceType: "GMFolder"; resourceVersion: string; folderPath: string; tags?: string[] | undefined; order?: number | undefined; }, unknown>, "many">>; AudioGroups: z.ZodDefault<z.ZodArray<z.ZodObject<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>; name: z.ZodString; targets: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>, bigint, number | bigint>>; resourceType: z.ZodDefault<z.ZodLiteral<"GMAudioGroup">>; resourceVersion: z.ZodDefault<z.ZodString>; }, "strip", z.ZodTypeAny, { name: string; resourceType: "GMAudioGroup"; resourceVersion: string; targets: bigint; ConfigValues?: Record<string, Record<string, string>> | undefined; }, { name: string; ConfigValues?: Record<string, Record<string, string>> | undefined; resourceType?: "GMAudioGroup" | undefined; resourceVersion?: string | undefined; targets?: number | bigint | undefined; }>, "many">>; TextureGroups: z.ZodDefault<z.ZodArray<z.ZodObject<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>; name: z.ZodString; groupParent: z.ZodDefault<z.ZodNullable<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; }, { path: string; name: string; }>>>; isScaled: z.ZodDefault<z.ZodBoolean>; customOptions: z.ZodDefault<z.ZodString>; compressFormat: z.ZodDefault<z.ZodString>; autocrop: z.ZodDefault<z.ZodBoolean>; border: z.ZodDefault<z.ZodNumber>; mipsToGenerate: z.ZodDefault<z.ZodNumber>; targets: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>, bigint, number | bigint>>; loadType: z.ZodDefault<z.ZodEnum<["default", "dynamicpages"]>>; directory: z.ZodDefault<z.ZodString>; resourceType: z.ZodDefault<z.ZodLiteral<"GMTextureGroup">>; resourceVersion: z.ZodDefault<z.ZodString>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>; name: z.ZodString; groupParent: z.ZodDefault<z.ZodNullable<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; }, { path: string; name: string; }>>>; isScaled: z.ZodDefault<z.ZodBoolean>; customOptions: z.ZodDefault<z.ZodString>; compressFormat: z.ZodDefault<z.ZodString>; autocrop: z.ZodDefault<z.ZodBoolean>; border: z.ZodDefault<z.ZodNumber>; mipsToGenerate: z.ZodDefault<z.ZodNumber>; targets: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>, bigint, number | bigint>>; loadType: z.ZodDefault<z.ZodEnum<["default", "dynamicpages"]>>; directory: z.ZodDefault<z.ZodString>; resourceType: z.ZodDefault<z.ZodLiteral<"GMTextureGroup">>; resourceVersion: z.ZodDefault<z.ZodString>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>; name: z.ZodString; groupParent: z.ZodDefault<z.ZodNullable<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; }, { path: string; name: string; }>>>; isScaled: z.ZodDefault<z.ZodBoolean>; customOptions: z.ZodDefault<z.ZodString>; compressFormat: z.ZodDefault<z.ZodString>; autocrop: z.ZodDefault<z.ZodBoolean>; border: z.ZodDefault<z.ZodNumber>; mipsToGenerate: z.ZodDefault<z.ZodNumber>; targets: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>, bigint, number | bigint>>; loadType: z.ZodDefault<z.ZodEnum<["default", "dynamicpages"]>>; directory: z.ZodDefault<z.ZodString>; resourceType: z.ZodDefault<z.ZodLiteral<"GMTextureGroup">>; resourceVersion: z.ZodDefault<z.ZodString>; }, z.ZodTypeAny, "passthrough">>, "many">>; /** * Synchronous version of {@link Yy.write}. * * @param yyp If provided, the yyp will be used to determine format information */ IncludedFiles: z.ZodDefault<z.ZodArray<z.ZodObject<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{ CopyToMask: z.ZodString; }, "strip", z.ZodTypeAny, { CopyToMask: string; }, { CopyToMask: string; }>>>; name: z.ZodString; CopyToMask: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>, bigint, number | bigint>>; filePath: z.ZodString; resourceType: z.ZodDefault<z.ZodLiteral<"GMIncludedFile">>; resourceVersion: z.ZodDefault<z.ZodString>; }, "strip", z.ZodTypeAny, { name: string; resourceType: "GMIncludedFile"; resourceVersion: string; CopyToMask: bigint; filePath: string; ConfigValues?: Record<string, { CopyToMask: string; }> | undefined; }, { name: string; filePath: string; ConfigValues?: Record<string, { CopyToMask: string; }> | undefined; resourceType?: "GMIncludedFile" | undefined; resourceVersion?: string | undefined; CopyToMask?: number | bigint | undefined; }>, "many">>; MetaData: z.ZodObject<{ IDEVersion: z.ZodString; }, "strip", z.ZodTypeAny, { IDEVersion: string; }, { IDEVersion: string; }>; LibraryEmitters: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>; resourceVersion: z.ZodString; tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ "%Name": z.ZodOptional<z.ZodString>; name: z.ZodString; resourceType: z.ZodDefault<z.ZodLiteral<"GMProject">>; resources: z.ZodDefault<z.ZodArray<z.ZodObject<{ id: z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; }, { path: string; name: string; }>; order: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { id: { path: string; name: string; }; order?: number | undefined; }, { id: { path: string; name: string; }; order?: number | undefined; }>, "many">>; RoomOrderNodes: z.ZodDefault<z.ZodArray<z.ZodObject<{ roomId: z.ZodEffects<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; }, { path: string; name: string; }>, { path: string; name: string; }, unknown>; }, "strip", z.ZodTypeAny, { roomId: { path: string; name: string; }; }, { roomId?: unknown; }>, "many">>; Options: z.ZodOptional<z.ZodArray<z.ZodObject<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>; name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; ConfigValues?: Record<string, Record<string, string>> | undefined; }, { path: string; name: string; ConfigValues?: Record<string, Record<string, string>> | undefined; }>, "many">>; isDnDProject: z.ZodOptional<z.ZodBoolean>; defaultScriptType: z.ZodDefault<z.ZodNumber>; isEcma: z.ZodDefault<z.ZodBoolean>; tutorialPath: z.ZodOptional<z.ZodString>; configs: z.ZodObject<{ name: z.ZodDefault<z.ZodLiteral<"Default">>; children: z.ZodDefault<z.ZodArray<Schema<import("./types/Yyp.js").YypConfig, z.ZodTypeDef, import("./types/Yyp.js").YypConfig>, "many">>; }, "strip", z.ZodTypeAny, { name: "Default"; children: import("./types/Yyp.js").YypConfig[]; }, { name?: "Default" | undefined; children?: import("./types/Yyp.js").YypConfig[] | undefined; }>; Folders: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{ name: z.ZodString; tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; folderPath: z.ZodString; order: z.ZodOptional<z.ZodNumber>; resourceType: z.ZodDefault<z.ZodLiteral<"GMFolder">>; resourceVersion: z.ZodDefault<z.ZodString>; }, "strip", z.ZodTypeAny, { name: string; resourceType: "GMFolder"; resourceVersion: string; folderPath: string; tags?: string[] | undefined; order?: number | undefined; }, { name: string; folderPath: string; resourceType?: "GMFolder" | undefined; tags?: string[] | undefined; resourceVersion?: string | undefined; order?: number | undefined; }>, { name: string; resourceType: "GMFolder"; resourceVersion: string; folderPath: string; tags?: string[] | undefined; order?: number | undefined; }, unknown>, "many">>; AudioGroups: z.ZodDefault<z.ZodArray<z.ZodObject<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>; name: z.ZodString; targets: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>, bigint, number | bigint>>; resourceType: z.ZodDefault<z.ZodLiteral<"GMAudioGroup">>; resourceVersion: z.ZodDefault<z.ZodString>; }, "strip", z.ZodTypeAny, { name: string; resourceType: "GMAudioGroup"; resourceVersion: string; targets: bigint; ConfigValues?: Record<string, Record<string, string>> | undefined; }, { name: string; ConfigValues?: Record<string, Record<string, string>> | undefined; resourceType?: "GMAudioGroup" | undefined; resourceVersion?: string | undefined; targets?: number | bigint | undefined; }>, "many">>; TextureGroups: z.ZodDefault<z.ZodArray<z.ZodObject<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>; name: z.ZodString; groupParent: z.ZodDefault<z.ZodNullable<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; }, { path: string; name: string; }>>>; isScaled: z.ZodDefault<z.ZodBoolean>; customOptions: z.ZodDefault<z.ZodString>; compressFormat: z.ZodDefault<z.ZodString>; autocrop: z.ZodDefault<z.ZodBoolean>; border: z.ZodDefault<z.ZodNumber>; mipsToGenerate: z.ZodDefault<z.ZodNumber>; targets: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>, bigint, number | bigint>>; loadType: z.ZodDefault<z.ZodEnum<["default", "dynamicpages"]>>; directory: z.ZodDefault<z.ZodString>; resourceType: z.ZodDefault<z.ZodLiteral<"GMTextureGroup">>; resourceVersion: z.ZodDefault<z.ZodString>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>; name: z.ZodString; groupParent: z.ZodDefault<z.ZodNullable<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; }, { path: string; name: string; }>>>; isScaled: z.ZodDefault<z.ZodBoolean>; customOptions: z.ZodDefault<z.ZodString>; compressFormat: z.ZodDefault<z.ZodString>; autocrop: z.ZodDefault<z.ZodBoolean>; border: z.ZodDefault<z.ZodNumber>; mipsToGenerate: z.ZodDefault<z.ZodNumber>; targets: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>, bigint, number | bigint>>; loadType: z.ZodDefault<z.ZodEnum<["default", "dynamicpages"]>>; directory: z.ZodDefault<z.ZodString>; resourceType: z.ZodDefault<z.ZodLiteral<"GMTextureGroup">>; resourceVersion: z.ZodDefault<z.ZodString>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>; name: z.ZodString; groupParent: z.ZodDefault<z.ZodNullable<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; }, { path: string; name: string; }>>>; isScaled: z.ZodDefault<z.ZodBoolean>; customOptions: z.ZodDefault<z.ZodString>; compressFormat: z.ZodDefault<z.ZodString>; autocrop: z.ZodDefault<z.ZodBoolean>; border: z.ZodDefault<z.ZodNumber>; mipsToGenerate: z.ZodDefault<z.ZodNumber>; targets: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>, bigint, number | bigint>>; loadType: z.ZodDefault<z.ZodEnum<["default", "dynamicpages"]>>; directory: z.ZodDefault<z.ZodString>; resourceType: z.ZodDefault<z.ZodLiteral<"GMTextureGroup">>; resourceVersion: z.ZodDefault<z.ZodString>; }, z.ZodTypeAny, "passthrough">>, "many">>; /** * Synchronous version of {@link Yy.write}. * * @param yyp If provided, the yyp will be used to determine format information */ IncludedFiles: z.ZodDefault<z.ZodArray<z.ZodObject<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{ CopyToMask: z.ZodString; }, "strip", z.ZodTypeAny, { CopyToMask: string; }, { CopyToMask: string; }>>>; name: z.ZodString; CopyToMask: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>, bigint, number | bigint>>; filePath: z.ZodString; resourceType: z.ZodDefault<z.ZodLiteral<"GMIncludedFile">>; resourceVersion: z.ZodDefault<z.ZodString>; }, "strip", z.ZodTypeAny, { name: string; resourceType: "GMIncludedFile"; resourceVersion: string; CopyToMask: bigint; filePath: string; ConfigValues?: Record<string, { CopyToMask: string; }> | undefined; }, { name: string; filePath: string; ConfigValues?: Record<string, { CopyToMask: string; }> | undefined; resourceType?: "GMIncludedFile" | undefined; resourceVersion?: string | undefined; CopyToMask?: number | bigint | undefined; }>, "many">>; MetaData: z.ZodObject<{ IDEVersion: z.ZodString; }, "strip", z.ZodTypeAny, { IDEVersion: string; }, { IDEVersion: string; }>; LibraryEmitters: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>; resourceVersion: z.ZodString; tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ "%Name": z.ZodOptional<z.ZodString>; name: z.ZodString; resourceType: z.ZodDefault<z.ZodLiteral<"GMProject">>; resources: z.ZodDefault<z.ZodArray<z.ZodObject<{ id: z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; }, { path: string; name: string; }>; order: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { id: { path: string; name: string; }; order?: number | undefined; }, { id: { path: string; name: string; }; order?: number | undefined; }>, "many">>; RoomOrderNodes: z.ZodDefault<z.ZodArray<z.ZodObject<{ roomId: z.ZodEffects<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; }, { path: string; name: string; }>, { path: string; name: string; }, unknown>; }, "strip", z.ZodTypeAny, { roomId: { path: string; name: string; }; }, { roomId?: unknown; }>, "many">>; Options: z.ZodOptional<z.ZodArray<z.ZodObject<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>; name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; ConfigValues?: Record<string, Record<string, string>> | undefined; }, { path: string; name: string; ConfigValues?: Record<string, Record<string, string>> | undefined; }>, "many">>; isDnDProject: z.ZodOptional<z.ZodBoolean>; defaultScriptType: z.ZodDefault<z.ZodNumber>; isEcma: z.ZodDefault<z.ZodBoolean>; tutorialPath: z.ZodOptional<z.ZodString>; configs: z.ZodObject<{ name: z.ZodDefault<z.ZodLiteral<"Default">>; children: z.ZodDefault<z.ZodArray<Schema<import("./types/Yyp.js").YypConfig, z.ZodTypeDef, import("./types/Yyp.js").YypConfig>, "many">>; }, "strip", z.ZodTypeAny, { name: "Default"; children: import("./types/Yyp.js").YypConfig[]; }, { name?: "Default" | undefined; children?: import("./types/Yyp.js").YypConfig[] | undefined; }>; Folders: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{ name: z.ZodString; tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; folderPath: z.ZodString; order: z.ZodOptional<z.ZodNumber>; resourceType: z.ZodDefault<z.ZodLiteral<"GMFolder">>; resourceVersion: z.ZodDefault<z.ZodString>; }, "strip", z.ZodTypeAny, { name: string; resourceType: "GMFolder"; resourceVersion: string; folderPath: string; tags?: string[] | undefined; order?: number | undefined; }, { name: string; folderPath: string; resourceType?: "GMFolder" | undefined; tags?: string[] | undefined; resourceVersion?: string | undefined; order?: number | undefined; }>, { name: string; resourceType: "GMFolder"; resourceVersion: string; folderPath: string; tags?: string[] | undefined; order?: number | undefined; }, unknown>, "many">>; AudioGroups: z.ZodDefault<z.ZodArray<z.ZodObject<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>; name: z.ZodString; targets: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>, bigint, number | bigint>>; resourceType: z.ZodDefault<z.ZodLiteral<"GMAudioGroup">>; resourceVersion: z.ZodDefault<z.ZodString>; }, "strip", z.ZodTypeAny, { name: string; resourceType: "GMAudioGroup"; resourceVersion: string; targets: bigint; ConfigValues?: Record<string, Record<string, string>> | undefined; }, { name: string; ConfigValues?: Record<string, Record<string, string>> | undefined; resourceType?: "GMAudioGroup" | undefined; resourceVersion?: string | undefined; targets?: number | bigint | undefined; }>, "many">>; TextureGroups: z.ZodDefault<z.ZodArray<z.ZodObject<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>; name: z.ZodString; groupParent: z.ZodDefault<z.ZodNullable<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; }, { path: string; name: string; }>>>; isScaled: z.ZodDefault<z.ZodBoolean>; customOptions: z.ZodDefault<z.ZodString>; compressFormat: z.ZodDefault<z.ZodString>; autocrop: z.ZodDefault<z.ZodBoolean>; border: z.ZodDefault<z.ZodNumber>; mipsToGenerate: z.ZodDefault<z.ZodNumber>; targets: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>, bigint, number | bigint>>; loadType: z.ZodDefault<z.ZodEnum<["default", "dynamicpages"]>>; directory: z.ZodDefault<z.ZodString>; resourceType: z.ZodDefault<z.ZodLiteral<"GMTextureGroup">>; resourceVersion: z.ZodDefault<z.ZodString>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>; name: z.ZodString; groupParent: z.ZodDefault<z.ZodNullable<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; }, { path: string; name: string; }>>>; isScaled: z.ZodDefault<z.ZodBoolean>; customOptions: z.ZodDefault<z.ZodString>; compressFormat: z.ZodDefault<z.ZodString>; autocrop: z.ZodDefault<z.ZodBoolean>; border: z.ZodDefault<z.ZodNumber>; mipsToGenerate: z.ZodDefault<z.ZodNumber>; targets: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>, bigint, number | bigint>>; loadType: z.ZodDefault<z.ZodEnum<["default", "dynamicpages"]>>; directory: z.ZodDefault<z.ZodString>; resourceType: z.ZodDefault<z.ZodLiteral<"GMTextureGroup">>; resourceVersion: z.ZodDefault<z.ZodString>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>; name: z.ZodString; groupParent: z.ZodDefault<z.ZodNullable<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; name: string; }, { path: string; name: string; }>>>; isScaled: z.ZodDefault<z.ZodBoolean>; customOptions: z.ZodDefault<z.ZodString>; compressFormat: z.ZodDefault<z.ZodString>; autocrop: z.ZodDefault<z.ZodBoolean>; border: z.ZodDefault<z.ZodNumber>; mipsToGenerate: z.ZodDefault<z.ZodNumber>; targets: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>, bigint, number | bigint>>; loadType: z.ZodDefault<z.ZodEnum<["default", "dynamicpages"]>>; directory: z.ZodDefault<z.ZodString>; resourceType: z.ZodDefault<z.ZodLiteral<"GMTextureGroup">>; resourceVersion: z.ZodDefault<z.ZodString>; }, z.ZodTypeAny, "passthrough">>, "many">>; /** * Synchronous version of {@link Yy.write}. * * @param yyp If provided, the yyp will be used to determine format information */ IncludedFiles: z.ZodDefault<z.ZodArray<z.ZodObject<{ ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{ CopyToMask: z.ZodString; }, "strip", z.ZodTypeAny, { CopyToMask: string; }, { CopyToMask: string; }>>>; name: z.ZodString; CopyToMask: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>, bigint, number | bigint>>; filePath: z.ZodString; resourceType: z.ZodDefault<z.ZodLiteral<"GMIncludedFile">>; resourceVersion: z.ZodDefault<z.ZodString>; }, "strip", z.ZodTypeAny, { name: string; resourceType: "GMIncludedFile"; resourceVersion: string; CopyToMask: bigint; filePath: string; ConfigValues?: Record<string, { CopyToMask: string; }> | undefined; }, { name: string; filePath: string; ConfigValues?: Record<string, { CopyToMask: string; }> | undefined; resourceType?: "GMIncludedFile" | undefined; resourceVersion?: string | undefined; CopyToMask?: number | bigint | undefined; }>, "many">>; MetaData: z.ZodObject<{ IDEVersion: z.ZodString; }, "strip", z.ZodTypeAny, { IDEVersion: string; }, { IDEVersion: string; }>; LibraryEmitters: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>; resourceVersion: z.ZodString; tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, z.ZodTypeAny, "passthrough">, unknown>; readonly animcurves: z.ZodObject<{ "%Name": z.ZodOptional<z.ZodString>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ "%Name": z.ZodOptional<z.ZodString>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ "%Name": z.ZodOptional<z.ZodString>; }, z.ZodTypeAny, "passthrough">>; readonly extensions: z.ZodObject<{ "%Name": z.ZodOptional<z.ZodString>; resourceType: z.ZodDefault<z.ZodLiteral<"GMExtension">>; resourceVersion: z.ZodDefault<z.ZodString>; name: z.ZodString; files: z.ZodDefault<z.ZodArray<z.ZodObject<{ resourceType: z.ZodLiteral<"GMExtensionFile">; resourceVersion: z.ZodDefault<z.ZodString>; constants: z.ZodDefault<z.ZodArray<z.ZodObject<{ resourceType: z.ZodDefault<z.ZodLiteral<"GMExtensionConstant">>; resourceVersion: z.ZodDefault<z.ZodString>; name: z.ZodString; hidden: z.ZodDefault<z.ZodBoolean>; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; name: string; resourceType: "GMExtensionConstant"; resourceVersion: string; hidden: boolean; }, { value: string; name: string; resourceType?: "GMExtensionConstant" | undefined; resourceVersion?: string | undefined; hidden?: boolean | undefined; }>, "many">>; functions: z.ZodDefault<z.ZodArray<z.ZodObject<{ resourceType: z.ZodDefault<z.ZodLiteral<"GMExtensionFunction">>; resourceVersion: z.ZodDefault<z.ZodString>; name: z.ZodString; externalName: z.ZodString; documentation: z.ZodDefault<z.ZodString>; argCount: z.ZodDefault<z.ZodNumber>; args: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>]>, "many">>; help: z.ZodString; hidden: z.ZodDefault<z.ZodBoolean>; kind: z.ZodDefault<z.ZodNumber>; returnType: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>]>; }, "strip", z.ZodTypeAny, { name: string; resourceType: "GMExtensionFunction"; resourceVersion: string; hidden: boolean; externalName: string; documentation: string; argCount: number; args: (2 | 1)[]; help: string; kind: number; returnType: 2 | 1; }, { name: string; externalName: string; help: string; returnType: 2 | 1; resourceType?: "GMExtensionFunction" | undefined; resourceVersion?: string | undefined; hidden?: boolean | undefined; documentation?: string | undefined; argCount?: number | undefined; args?: (2 | 1)[] | undefined; kind?: number | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ resourceType: z.ZodLiteral<"GMExtensionFile">; resourceVersion: z.ZodDefault<z.ZodString>; constants: z.ZodDefault<z.ZodArray<z.ZodObject<{ resourceType: z.ZodDefault<z.ZodLiteral<"GMExtensionConstant">>; resourceVersion: z.ZodDefault<z.ZodString>; name: z.ZodString; hidden: z.ZodDefault<z.ZodBoolean>; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; name: string; resourceType: "GMExtensionConstant"; resourceVersion: string; hidden: boolean; }, { value: string; name: string; resourceType?: "GMExtensionConstant" | undefined; resourceVersion?: string | undefined; hidden?: boolean | undefined; }>, "many">>; functions: z.ZodDefault<z.ZodArray<z.ZodObject<{ resourceType: z.ZodDefault<z.ZodLiteral<"GMExtensionFunction">>; resourceVersion: z.ZodDefault<z.ZodString>; name: z.ZodString; externalName: z.ZodString; documentation: z.ZodDefault<z.ZodString>; argCount: z.ZodDefault<z.ZodNumber>; args: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>]>, "many">>; help: z.ZodString; hidden: z.ZodDefault<z.ZodBoolean>; kind: z.ZodDefault<z.ZodNumber>; returnType: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>]>; }, "strip", z.ZodTypeAny, { name: string; resourceType: "GMExtensionFunction"; resourceVersion: string; hidden: boolean; externalName: string; documentation: string; argCount: number; args: (2 | 1)[]; help: string; kind: number; returnType: 2 | 1; }, { name: string; externalName: string; help: string; returnType: 2 | 1; resourceType?: "GMExtensionFunction" | undefined; resourceVersion?: string | undefined; hidden?: boolean | undefined; documentation?: string | undefined; argCount?: number | undefined; args?: (2 | 1)[] | undefined; kind?: number | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ resourceType: z.ZodLiteral<"GMExtensionFile">; resourceVersion: z.ZodDefault<z.ZodString>; constants: z.ZodDefault<z.ZodArray<z.ZodObject<{ resourceType: z.ZodDefault<z.ZodLiteral<"GMExtensionConstant">>; resourceVersion: z.ZodDefault<z.ZodString>; name: z.ZodString; hidden: z.ZodDefault<z.ZodBoolean>; value: z.ZodString; }, "strip", z.ZodTypeAny, { value: string; name: string; resourceType: "GMExtensionConstant"; resourceVersion: string; hidden: boolean; }, { value: string; name: string; resourceType?: "GMExtensionConstant" | undefined; resourceVersion?: string | undefined; hidden?: boolean | undefined; }>, "many">>; functions: z.ZodDefault<z.ZodArray<z.ZodObject<{ resourceType: z.ZodDefault<z.ZodLiteral<"GMExtensionFunction">>; resourceVersion: z.ZodDefault<z.ZodString>; name: z.ZodString; externalName: z.ZodString; documentation: z.ZodDefault<z.ZodString>; argCount: z.ZodDefault<z.ZodNumber>; args: z.ZodDefault<z.ZodArray<z.ZodUni