/**
 * Zod schemas for Minecraft Content Meta-Schema.
 *
 * These schemas are used for:
 * 1. MCP tool input validation
 * 2. Runtime type checking
 * 3. AI-friendly schema descriptions
 *
 * The schemas mirror the TypeScript interfaces in IContentMetaSchema.ts
 */
import { z } from "zod";
/**
 * Color specification - hex string or RGB object.
 */
export declare const McpColorSchema: z.ZodUnion<[z.ZodString, z.ZodObject<{
    r: z.ZodNumber;
    g: z.ZodNumber;
    b: z.ZodNumber;
    a: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    b?: number;
    a?: number;
    g?: number;
    r?: number;
}, {
    b?: number;
    a?: number;
    g?: number;
    r?: number;
}>]>;
/**
 * Textured rectangle - procedural texture generation.
 */
export declare const TexturedRectangleSchema: z.ZodObject<{
    type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
    colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
        r: z.ZodNumber;
        g: z.ZodNumber;
        b: z.ZodNumber;
        a: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        b?: number;
        a?: number;
        g?: number;
        r?: number;
    }, {
        b?: number;
        a?: number;
        g?: number;
        r?: number;
    }>]>, "many">>;
    factor: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    pixelSize: z.ZodOptional<z.ZodNumber>;
    scale: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
    scale?: number;
    seed?: number;
    colors?: (string | {
        b?: number;
        a?: number;
        g?: number;
        r?: number;
    })[];
    factor?: number;
    pixelSize?: number;
}, {
    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
    scale?: number;
    seed?: number;
    colors?: (string | {
        b?: number;
        a?: number;
        g?: number;
        r?: number;
    })[];
    factor?: number;
    pixelSize?: number;
}>;
/**
 * Pixel art overlay.
 */
export declare const PixelArtSchema: z.ZodObject<{
    scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
    x: z.ZodOptional<z.ZodNumber>;
    y: z.ZodOptional<z.ZodNumber>;
    lines: z.ZodArray<z.ZodString, "many">;
    palette: z.ZodRecord<z.ZodString, z.ZodObject<{
        r: z.ZodOptional<z.ZodNumber>;
        g: z.ZodOptional<z.ZodNumber>;
        b: z.ZodOptional<z.ZodNumber>;
        a: z.ZodOptional<z.ZodNumber>;
        hex: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        hex?: string;
        b?: number;
        a?: number;
        g?: number;
        r?: number;
    }, {
        hex?: string;
        b?: number;
        a?: number;
        g?: number;
        r?: number;
    }>>;
}, "strip", z.ZodTypeAny, {
    x?: number;
    y?: number;
    palette?: Record<string, {
        hex?: string;
        b?: number;
        a?: number;
        g?: number;
        r?: number;
    }>;
    lines?: string[];
    scaleMode?: "exact" | "unit" | "cover";
}, {
    x?: number;
    y?: number;
    palette?: Record<string, {
        hex?: string;
        b?: number;
        a?: number;
        g?: number;
        r?: number;
    }>;
    lines?: string[];
    scaleMode?: "exact" | "unit" | "cover";
}>;
/**
 * Texture specification.
 */
export declare const TextureSpecSchema: z.ZodObject<{
    file: z.ZodOptional<z.ZodString>;
    generate: z.ZodOptional<z.ZodObject<{
        type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
        colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
            r: z.ZodNumber;
            g: z.ZodNumber;
            b: z.ZodNumber;
            a: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            b?: number;
            a?: number;
            g?: number;
            r?: number;
        }, {
            b?: number;
            a?: number;
            g?: number;
            r?: number;
        }>]>, "many">>;
        factor: z.ZodOptional<z.ZodNumber>;
        seed: z.ZodOptional<z.ZodNumber>;
        pixelSize: z.ZodOptional<z.ZodNumber>;
        scale: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
        scale?: number;
        seed?: number;
        colors?: (string | {
            b?: number;
            a?: number;
            g?: number;
            r?: number;
        })[];
        factor?: number;
        pixelSize?: number;
    }, {
        type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
        scale?: number;
        seed?: number;
        colors?: (string | {
            b?: number;
            a?: number;
            g?: number;
            r?: number;
        })[];
        factor?: number;
        pixelSize?: number;
    }>>;
    pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
        scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
        x: z.ZodOptional<z.ZodNumber>;
        y: z.ZodOptional<z.ZodNumber>;
        lines: z.ZodArray<z.ZodString, "many">;
        palette: z.ZodRecord<z.ZodString, z.ZodObject<{
            r: z.ZodOptional<z.ZodNumber>;
            g: z.ZodOptional<z.ZodNumber>;
            b: z.ZodOptional<z.ZodNumber>;
            a: z.ZodOptional<z.ZodNumber>;
            hex: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            hex?: string;
            b?: number;
            a?: number;
            g?: number;
            r?: number;
        }, {
            hex?: string;
            b?: number;
            a?: number;
            g?: number;
            r?: number;
        }>>;
    }, "strip", z.ZodTypeAny, {
        x?: number;
        y?: number;
        palette?: Record<string, {
            hex?: string;
            b?: number;
            a?: number;
            g?: number;
            r?: number;
        }>;
        lines?: string[];
        scaleMode?: "exact" | "unit" | "cover";
    }, {
        x?: number;
        y?: number;
        palette?: Record<string, {
            hex?: string;
            b?: number;
            a?: number;
            g?: number;
            r?: number;
        }>;
        lines?: string[];
        scaleMode?: "exact" | "unit" | "cover";
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    file?: string;
    generate?: {
        type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
        scale?: number;
        seed?: number;
        colors?: (string | {
            b?: number;
            a?: number;
            g?: number;
            r?: number;
        })[];
        factor?: number;
        pixelSize?: number;
    };
    pixelArt?: {
        x?: number;
        y?: number;
        palette?: Record<string, {
            hex?: string;
            b?: number;
            a?: number;
            g?: number;
            r?: number;
        }>;
        lines?: string[];
        scaleMode?: "exact" | "unit" | "cover";
    }[];
}, {
    file?: string;
    generate?: {
        type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
        scale?: number;
        seed?: number;
        colors?: (string | {
            b?: number;
            a?: number;
            g?: number;
            r?: number;
        })[];
        factor?: number;
        pixelSize?: number;
    };
    pixelArt?: {
        x?: number;
        y?: number;
        palette?: Record<string, {
            hex?: string;
            b?: number;
            a?: number;
            g?: number;
            r?: number;
        }>;
        lines?: string[];
        scaleMode?: "exact" | "unit" | "cover";
    }[];
}>;
/**
 * Geometry template types.
 */
export declare const GeometryTemplateSchema: z.ZodEnum<["humanoid", "quadruped", "quadruped_small", "bird", "fish", "insect", "slime", "flying", "block", "item"]>;
/**
 * Geometry specification.
 */
export declare const GeometrySpecSchema: z.ZodObject<{
    file: z.ZodOptional<z.ZodString>;
    template: z.ZodOptional<z.ZodEnum<["humanoid", "quadruped", "quadruped_small", "bird", "fish", "insect", "slime", "flying", "block", "item"]>>;
    design: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
}, "strip", z.ZodTypeAny, {
    template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
    file?: string;
    design?: Record<string, any>;
}, {
    template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
    file?: string;
    design?: Record<string, any>;
}>;
/**
 * Entity traits.
 */
export declare const EntityTraitSchema: z.ZodEnum<["humanoid", "quadruped", "quadruped_small", "flying", "aquatic", "arthropod", "slime", "hostile", "passive", "neutral", "boss", "melee_attacker", "ranged_attacker", "exploder", "trader", "tameable", "rideable", "breedable", "leasable", "undead", "illager", "aquatic_only", "baby_variant", "wanders", "patrols", "guards", "flees_daylight", "teleporter"]>;
/**
 * Entity behavior presets.
 */
export declare const EntityBehaviorPresetSchema: z.ZodEnum<["wander", "swim", "fly_around", "float", "climb", "melee_attack", "ranged_attack", "target_players", "target_monsters", "flee_when_hurt", "retaliate", "follow_owner", "follow_parent", "herd", "avoid_players", "look_at_player", "beg", "tempt", "sit_command", "eat_grass", "break_doors", "open_doors", "pick_up_items", "sleep_in_bed", "hide_from_sun", "go_home_at_night", "seek_water", "seek_land"]>;
/**
 * Drop definition.
 */
export declare const DropSchema: z.ZodObject<{
    item: z.ZodString;
    chance: z.ZodOptional<z.ZodNumber>;
    count: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
        min: z.ZodNumber;
        max: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        max?: number;
        min?: number;
    }, {
        max?: number;
        min?: number;
    }>]>>;
    killedByPlayer: z.ZodOptional<z.ZodBoolean>;
    lootingBonus: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    count?: number | {
        max?: number;
        min?: number;
    };
    item?: string;
    chance?: number;
    killedByPlayer?: boolean;
    lootingBonus?: number;
}, {
    count?: number | {
        max?: number;
        min?: number;
    };
    item?: string;
    chance?: number;
    killedByPlayer?: boolean;
    lootingBonus?: number;
}>;
/**
 * Entity appearance.
 */
export declare const EntityAppearanceSchema: z.ZodObject<{
    bodyType: z.ZodOptional<z.ZodEnum<["humanoid", "quadruped", "quadruped_small", "bird", "fish", "insect", "slime", "flying", "block", "item"]>>;
    primaryColor: z.ZodOptional<z.ZodString>;
    secondaryColor: z.ZodOptional<z.ZodString>;
    textureStyle: z.ZodOptional<z.ZodEnum<["solid", "spotted", "striped", "gradient", "organic", "armored"]>>;
    scale: z.ZodOptional<z.ZodNumber>;
    eyes: z.ZodOptional<z.ZodEnum<["normal", "glowing", "red", "none"]>>;
    particles: z.ZodOptional<z.ZodArray<z.ZodEnum<["flames", "smoke", "drip", "sparkle", "hearts"]>, "many">>;
    texture: z.ZodOptional<z.ZodObject<{
        file: z.ZodOptional<z.ZodString>;
        generate: z.ZodOptional<z.ZodObject<{
            type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
            colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                r: z.ZodNumber;
                g: z.ZodNumber;
                b: z.ZodNumber;
                a: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>]>, "many">>;
            factor: z.ZodOptional<z.ZodNumber>;
            seed: z.ZodOptional<z.ZodNumber>;
            pixelSize: z.ZodOptional<z.ZodNumber>;
            scale: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }>>;
        pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
            scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
            x: z.ZodOptional<z.ZodNumber>;
            y: z.ZodOptional<z.ZodNumber>;
            lines: z.ZodArray<z.ZodString, "many">;
            palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                r: z.ZodOptional<z.ZodNumber>;
                g: z.ZodOptional<z.ZodNumber>;
                b: z.ZodOptional<z.ZodNumber>;
                a: z.ZodOptional<z.ZodNumber>;
                hex: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>>;
        }, "strip", z.ZodTypeAny, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }>, "many">>;
    }, "strip", z.ZodTypeAny, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }>>;
    geometry: z.ZodOptional<z.ZodObject<{
        file: z.ZodOptional<z.ZodString>;
        template: z.ZodOptional<z.ZodEnum<["humanoid", "quadruped", "quadruped_small", "bird", "fish", "insect", "slime", "flying", "block", "item"]>>;
        design: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
    }, "strip", z.ZodTypeAny, {
        template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        file?: string;
        design?: Record<string, any>;
    }, {
        template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        file?: string;
        design?: Record<string, any>;
    }>>;
}, "strip", z.ZodTypeAny, {
    geometry?: {
        template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        file?: string;
        design?: Record<string, any>;
    };
    particles?: ("sparkle" | "flames" | "smoke" | "drip" | "hearts")[];
    scale?: number;
    bodyType?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
    primaryColor?: string;
    secondaryColor?: string;
    textureStyle?: "gradient" | "solid" | "spotted" | "striped" | "organic" | "armored";
    eyes?: "normal" | "none" | "glowing" | "red";
    texture?: {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    };
}, {
    geometry?: {
        template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        file?: string;
        design?: Record<string, any>;
    };
    particles?: ("sparkle" | "flames" | "smoke" | "drip" | "hearts")[];
    scale?: number;
    bodyType?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
    primaryColor?: string;
    secondaryColor?: string;
    textureStyle?: "gradient" | "solid" | "spotted" | "striped" | "organic" | "armored";
    eyes?: "normal" | "none" | "glowing" | "red";
    texture?: {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    };
}>;
/**
 * Tameable configuration.
 */
export declare const TameableConfigSchema: z.ZodObject<{
    tameItems: z.ZodArray<z.ZodString, "many">;
    chance: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    chance?: number;
    tameItems?: string[];
}, {
    chance?: number;
    tameItems?: string[];
}>;
/**
 * Rideable configuration.
 */
export declare const RideableConfigSchema: z.ZodObject<{
    seatCount: z.ZodOptional<z.ZodNumber>;
    controllable: z.ZodOptional<z.ZodBoolean>;
    controlItems: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    seatCount?: number;
    controllable?: boolean;
    controlItems?: string[];
}, {
    seatCount?: number;
    controllable?: boolean;
    controlItems?: string[];
}>;
/**
 * Breedable configuration.
 */
export declare const BreedableConfigSchema: z.ZodObject<{
    breedItems: z.ZodArray<z.ZodString, "many">;
    breedCooldown: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    breedItems?: string[];
    breedCooldown?: number;
}, {
    breedItems?: string[];
    breedCooldown?: number;
}>;
/**
 * Spawn configuration.
 *
 * There are two spawn-rule shapes: inline on an entity (this one, `entity.spawning`) and a
 * separate top-level `spawnRules[]` entry (SpawnRuleSchema). Use the inline form for a rule
 * bound to a single entity. Use the top-level form when the rule references an entity defined
 * elsewhere (e.g. a vanilla entity) or when you want the rule file separate from the entity.
 */
export declare const SpawnConfigSchema: z.ZodObject<{
    biomes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    weight: z.ZodOptional<z.ZodNumber>;
    groupSize: z.ZodOptional<z.ZodObject<{
        min: z.ZodNumber;
        max: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        max?: number;
        min?: number;
    }, {
        max?: number;
        min?: number;
    }>>;
    lightLevel: z.ZodOptional<z.ZodObject<{
        min: z.ZodOptional<z.ZodNumber>;
        max: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        max?: number;
        min?: number;
    }, {
        max?: number;
        min?: number;
    }>>;
    heightRange: z.ZodOptional<z.ZodObject<{
        min: z.ZodNumber;
        max: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        max?: number;
        min?: number;
    }, {
        max?: number;
        min?: number;
    }>>;
    timeOfDay: z.ZodOptional<z.ZodEnum<["day", "night", "any"]>>;
    surface: z.ZodOptional<z.ZodBoolean>;
    spawnOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    populationCap: z.ZodOptional<z.ZodNumber>;
    rarity: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    weight?: number;
    biomes?: string[];
    groupSize?: {
        max?: number;
        min?: number;
    };
    lightLevel?: {
        max?: number;
        min?: number;
    };
    heightRange?: {
        max?: number;
        min?: number;
    };
    timeOfDay?: "any" | "day" | "night";
    surface?: boolean;
    spawnOn?: string[];
    populationCap?: number;
    rarity?: number;
}, {
    weight?: number;
    biomes?: string[];
    groupSize?: {
        max?: number;
        min?: number;
    };
    lightLevel?: {
        max?: number;
        min?: number;
    };
    heightRange?: {
        max?: number;
        min?: number;
    };
    timeOfDay?: "any" | "day" | "night";
    surface?: boolean;
    spawnOn?: string[];
    populationCap?: number;
    rarity?: number;
}>;
/**
 * Entity sounds.
 */
export declare const EntitySoundsSchema: z.ZodObject<{
    ambient: z.ZodOptional<z.ZodString>;
    hurt: z.ZodOptional<z.ZodString>;
    death: z.ZodOptional<z.ZodString>;
    step: z.ZodOptional<z.ZodString>;
    attack: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    step?: string;
    ambient?: string;
    hurt?: string;
    death?: string;
    attack?: string;
}, {
    step?: string;
    ambient?: string;
    hurt?: string;
    death?: string;
    attack?: string;
}>;
/**
 * Entity type definition.
 */
export declare const EntityTypeSchema: z.ZodObject<{
    id: z.ZodString;
    displayName: z.ZodString;
    traits: z.ZodOptional<z.ZodArray<z.ZodEnum<["humanoid", "quadruped", "quadruped_small", "flying", "aquatic", "arthropod", "slime", "hostile", "passive", "neutral", "boss", "melee_attacker", "ranged_attacker", "exploder", "trader", "tameable", "rideable", "breedable", "leasable", "undead", "illager", "aquatic_only", "baby_variant", "wanders", "patrols", "guards", "flees_daylight", "teleporter"]>, "many">>;
    health: z.ZodOptional<z.ZodNumber>;
    attackDamage: z.ZodOptional<z.ZodNumber>;
    movementSpeed: z.ZodOptional<z.ZodNumber>;
    followRange: z.ZodOptional<z.ZodNumber>;
    knockbackResistance: z.ZodOptional<z.ZodNumber>;
    scale: z.ZodOptional<z.ZodNumber>;
    collisionWidth: z.ZodOptional<z.ZodNumber>;
    collisionHeight: z.ZodOptional<z.ZodNumber>;
    behaviors: z.ZodOptional<z.ZodArray<z.ZodEnum<["wander", "swim", "fly_around", "float", "climb", "melee_attack", "ranged_attack", "target_players", "target_monsters", "flee_when_hurt", "retaliate", "follow_owner", "follow_parent", "herd", "avoid_players", "look_at_player", "beg", "tempt", "sit_command", "eat_grass", "break_doors", "open_doors", "pick_up_items", "sleep_in_bed", "hide_from_sun", "go_home_at_night", "seek_water", "seek_land"]>, "many">>;
    drops: z.ZodOptional<z.ZodArray<z.ZodObject<{
        item: z.ZodString;
        chance: z.ZodOptional<z.ZodNumber>;
        count: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
            min: z.ZodNumber;
            max: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            max?: number;
            min?: number;
        }, {
            max?: number;
            min?: number;
        }>]>>;
        killedByPlayer: z.ZodOptional<z.ZodBoolean>;
        lootingBonus: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        count?: number | {
            max?: number;
            min?: number;
        };
        item?: string;
        chance?: number;
        killedByPlayer?: boolean;
        lootingBonus?: number;
    }, {
        count?: number | {
            max?: number;
            min?: number;
        };
        item?: string;
        chance?: number;
        killedByPlayer?: boolean;
        lootingBonus?: number;
    }>, "many">>;
    appearance: z.ZodOptional<z.ZodObject<{
        bodyType: z.ZodOptional<z.ZodEnum<["humanoid", "quadruped", "quadruped_small", "bird", "fish", "insect", "slime", "flying", "block", "item"]>>;
        primaryColor: z.ZodOptional<z.ZodString>;
        secondaryColor: z.ZodOptional<z.ZodString>;
        textureStyle: z.ZodOptional<z.ZodEnum<["solid", "spotted", "striped", "gradient", "organic", "armored"]>>;
        scale: z.ZodOptional<z.ZodNumber>;
        eyes: z.ZodOptional<z.ZodEnum<["normal", "glowing", "red", "none"]>>;
        particles: z.ZodOptional<z.ZodArray<z.ZodEnum<["flames", "smoke", "drip", "sparkle", "hearts"]>, "many">>;
        texture: z.ZodOptional<z.ZodObject<{
            file: z.ZodOptional<z.ZodString>;
            generate: z.ZodOptional<z.ZodObject<{
                type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
                colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                    r: z.ZodNumber;
                    g: z.ZodNumber;
                    b: z.ZodNumber;
                    a: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>]>, "many">>;
                factor: z.ZodOptional<z.ZodNumber>;
                seed: z.ZodOptional<z.ZodNumber>;
                pixelSize: z.ZodOptional<z.ZodNumber>;
                scale: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }>>;
            pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
                scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
                x: z.ZodOptional<z.ZodNumber>;
                y: z.ZodOptional<z.ZodNumber>;
                lines: z.ZodArray<z.ZodString, "many">;
                palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                    r: z.ZodOptional<z.ZodNumber>;
                    g: z.ZodOptional<z.ZodNumber>;
                    b: z.ZodOptional<z.ZodNumber>;
                    a: z.ZodOptional<z.ZodNumber>;
                    hex: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>>;
            }, "strip", z.ZodTypeAny, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }>, "many">>;
        }, "strip", z.ZodTypeAny, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }>>;
        geometry: z.ZodOptional<z.ZodObject<{
            file: z.ZodOptional<z.ZodString>;
            template: z.ZodOptional<z.ZodEnum<["humanoid", "quadruped", "quadruped_small", "bird", "fish", "insect", "slime", "flying", "block", "item"]>>;
            design: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
        }, "strip", z.ZodTypeAny, {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        }, {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        }>>;
    }, "strip", z.ZodTypeAny, {
        geometry?: {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        };
        particles?: ("sparkle" | "flames" | "smoke" | "drip" | "hearts")[];
        scale?: number;
        bodyType?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        primaryColor?: string;
        secondaryColor?: string;
        textureStyle?: "gradient" | "solid" | "spotted" | "striped" | "organic" | "armored";
        eyes?: "normal" | "none" | "glowing" | "red";
        texture?: {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
    }, {
        geometry?: {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        };
        particles?: ("sparkle" | "flames" | "smoke" | "drip" | "hearts")[];
        scale?: number;
        bodyType?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        primaryColor?: string;
        secondaryColor?: string;
        textureStyle?: "gradient" | "solid" | "spotted" | "striped" | "organic" | "armored";
        eyes?: "normal" | "none" | "glowing" | "red";
        texture?: {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
    }>>;
    families: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    hostile: z.ZodOptional<z.ZodBoolean>;
    tameable: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
        tameItems: z.ZodArray<z.ZodString, "many">;
        chance: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        chance?: number;
        tameItems?: string[];
    }, {
        chance?: number;
        tameItems?: string[];
    }>]>>;
    rideable: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
        seatCount: z.ZodOptional<z.ZodNumber>;
        controllable: z.ZodOptional<z.ZodBoolean>;
        controlItems: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        seatCount?: number;
        controllable?: boolean;
        controlItems?: string[];
    }, {
        seatCount?: number;
        controllable?: boolean;
        controlItems?: string[];
    }>]>>;
    breedable: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
        breedItems: z.ZodArray<z.ZodString, "many">;
        breedCooldown: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        breedItems?: string[];
        breedCooldown?: number;
    }, {
        breedItems?: string[];
        breedCooldown?: number;
    }>]>>;
    components: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
    componentGroups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodAny>>>;
    events: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
    geometry: z.ZodOptional<z.ZodObject<{
        file: z.ZodOptional<z.ZodString>;
        template: z.ZodOptional<z.ZodEnum<["humanoid", "quadruped", "quadruped_small", "bird", "fish", "insect", "slime", "flying", "block", "item"]>>;
        design: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
    }, "strip", z.ZodTypeAny, {
        template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        file?: string;
        design?: Record<string, any>;
    }, {
        template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        file?: string;
        design?: Record<string, any>;
    }>>;
    texture: z.ZodOptional<z.ZodObject<{
        file: z.ZodOptional<z.ZodString>;
        generate: z.ZodOptional<z.ZodObject<{
            type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
            colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                r: z.ZodNumber;
                g: z.ZodNumber;
                b: z.ZodNumber;
                a: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>]>, "many">>;
            factor: z.ZodOptional<z.ZodNumber>;
            seed: z.ZodOptional<z.ZodNumber>;
            pixelSize: z.ZodOptional<z.ZodNumber>;
            scale: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }>>;
        pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
            scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
            x: z.ZodOptional<z.ZodNumber>;
            y: z.ZodOptional<z.ZodNumber>;
            lines: z.ZodArray<z.ZodString, "many">;
            palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                r: z.ZodOptional<z.ZodNumber>;
                g: z.ZodOptional<z.ZodNumber>;
                b: z.ZodOptional<z.ZodNumber>;
                a: z.ZodOptional<z.ZodNumber>;
                hex: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>>;
        }, "strip", z.ZodTypeAny, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }>, "many">>;
    }, "strip", z.ZodTypeAny, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }>>;
    sounds: z.ZodOptional<z.ZodObject<{
        ambient: z.ZodOptional<z.ZodString>;
        hurt: z.ZodOptional<z.ZodString>;
        death: z.ZodOptional<z.ZodString>;
        step: z.ZodOptional<z.ZodString>;
        attack: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        step?: string;
        ambient?: string;
        hurt?: string;
        death?: string;
        attack?: string;
    }, {
        step?: string;
        ambient?: string;
        hurt?: string;
        death?: string;
        attack?: string;
    }>>;
    spawning: z.ZodOptional<z.ZodObject<{
        biomes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        weight: z.ZodOptional<z.ZodNumber>;
        groupSize: z.ZodOptional<z.ZodObject<{
            min: z.ZodNumber;
            max: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            max?: number;
            min?: number;
        }, {
            max?: number;
            min?: number;
        }>>;
        lightLevel: z.ZodOptional<z.ZodObject<{
            min: z.ZodOptional<z.ZodNumber>;
            max: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            max?: number;
            min?: number;
        }, {
            max?: number;
            min?: number;
        }>>;
        heightRange: z.ZodOptional<z.ZodObject<{
            min: z.ZodNumber;
            max: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            max?: number;
            min?: number;
        }, {
            max?: number;
            min?: number;
        }>>;
        timeOfDay: z.ZodOptional<z.ZodEnum<["day", "night", "any"]>>;
        surface: z.ZodOptional<z.ZodBoolean>;
        spawnOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        populationCap: z.ZodOptional<z.ZodNumber>;
        rarity: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        weight?: number;
        biomes?: string[];
        groupSize?: {
            max?: number;
            min?: number;
        };
        lightLevel?: {
            max?: number;
            min?: number;
        };
        heightRange?: {
            max?: number;
            min?: number;
        };
        timeOfDay?: "any" | "day" | "night";
        surface?: boolean;
        spawnOn?: string[];
        populationCap?: number;
        rarity?: number;
    }, {
        weight?: number;
        biomes?: string[];
        groupSize?: {
            max?: number;
            min?: number;
        };
        lightLevel?: {
            max?: number;
            min?: number;
        };
        heightRange?: {
            max?: number;
            min?: number;
        };
        timeOfDay?: "any" | "day" | "night";
        surface?: boolean;
        spawnOn?: string[];
        populationCap?: number;
        rarity?: number;
    }>>;
}, "strip", z.ZodTypeAny, {
    geometry?: {
        template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        file?: string;
        design?: Record<string, any>;
    };
    sounds?: {
        step?: string;
        ambient?: string;
        hurt?: string;
        death?: string;
        attack?: string;
    };
    id?: string;
    scale?: number;
    health?: number;
    components?: Record<string, any>;
    events?: Record<string, any>;
    hostile?: boolean;
    traits?: ("flying" | "neutral" | "boss" | "passive" | "teleporter" | "slime" | "hostile" | "humanoid" | "quadruped" | "quadruped_small" | "aquatic" | "arthropod" | "melee_attacker" | "ranged_attacker" | "exploder" | "trader" | "tameable" | "rideable" | "breedable" | "leasable" | "undead" | "illager" | "aquatic_only" | "baby_variant" | "wanders" | "patrols" | "guards" | "flees_daylight")[];
    tameable?: boolean | {
        chance?: number;
        tameItems?: string[];
    };
    rideable?: boolean | {
        seatCount?: number;
        controllable?: boolean;
        controlItems?: string[];
    };
    breedable?: boolean | {
        breedItems?: string[];
        breedCooldown?: number;
    };
    texture?: {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    };
    displayName?: string;
    attackDamage?: number;
    movementSpeed?: number;
    followRange?: number;
    knockbackResistance?: number;
    collisionWidth?: number;
    collisionHeight?: number;
    behaviors?: ("float" | "wander" | "swim" | "fly_around" | "climb" | "melee_attack" | "ranged_attack" | "target_players" | "target_monsters" | "flee_when_hurt" | "retaliate" | "follow_owner" | "follow_parent" | "herd" | "avoid_players" | "look_at_player" | "beg" | "tempt" | "sit_command" | "eat_grass" | "break_doors" | "open_doors" | "pick_up_items" | "sleep_in_bed" | "hide_from_sun" | "go_home_at_night" | "seek_water" | "seek_land")[];
    drops?: {
        count?: number | {
            max?: number;
            min?: number;
        };
        item?: string;
        chance?: number;
        killedByPlayer?: boolean;
        lootingBonus?: number;
    }[];
    appearance?: {
        geometry?: {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        };
        particles?: ("sparkle" | "flames" | "smoke" | "drip" | "hearts")[];
        scale?: number;
        bodyType?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        primaryColor?: string;
        secondaryColor?: string;
        textureStyle?: "gradient" | "solid" | "spotted" | "striped" | "organic" | "armored";
        eyes?: "normal" | "none" | "glowing" | "red";
        texture?: {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
    };
    families?: string[];
    componentGroups?: Record<string, Record<string, any>>;
    spawning?: {
        weight?: number;
        biomes?: string[];
        groupSize?: {
            max?: number;
            min?: number;
        };
        lightLevel?: {
            max?: number;
            min?: number;
        };
        heightRange?: {
            max?: number;
            min?: number;
        };
        timeOfDay?: "any" | "day" | "night";
        surface?: boolean;
        spawnOn?: string[];
        populationCap?: number;
        rarity?: number;
    };
}, {
    geometry?: {
        template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        file?: string;
        design?: Record<string, any>;
    };
    sounds?: {
        step?: string;
        ambient?: string;
        hurt?: string;
        death?: string;
        attack?: string;
    };
    id?: string;
    scale?: number;
    health?: number;
    components?: Record<string, any>;
    events?: Record<string, any>;
    hostile?: boolean;
    traits?: ("flying" | "neutral" | "boss" | "passive" | "teleporter" | "slime" | "hostile" | "humanoid" | "quadruped" | "quadruped_small" | "aquatic" | "arthropod" | "melee_attacker" | "ranged_attacker" | "exploder" | "trader" | "tameable" | "rideable" | "breedable" | "leasable" | "undead" | "illager" | "aquatic_only" | "baby_variant" | "wanders" | "patrols" | "guards" | "flees_daylight")[];
    tameable?: boolean | {
        chance?: number;
        tameItems?: string[];
    };
    rideable?: boolean | {
        seatCount?: number;
        controllable?: boolean;
        controlItems?: string[];
    };
    breedable?: boolean | {
        breedItems?: string[];
        breedCooldown?: number;
    };
    texture?: {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    };
    displayName?: string;
    attackDamage?: number;
    movementSpeed?: number;
    followRange?: number;
    knockbackResistance?: number;
    collisionWidth?: number;
    collisionHeight?: number;
    behaviors?: ("float" | "wander" | "swim" | "fly_around" | "climb" | "melee_attack" | "ranged_attack" | "target_players" | "target_monsters" | "flee_when_hurt" | "retaliate" | "follow_owner" | "follow_parent" | "herd" | "avoid_players" | "look_at_player" | "beg" | "tempt" | "sit_command" | "eat_grass" | "break_doors" | "open_doors" | "pick_up_items" | "sleep_in_bed" | "hide_from_sun" | "go_home_at_night" | "seek_water" | "seek_land")[];
    drops?: {
        count?: number | {
            max?: number;
            min?: number;
        };
        item?: string;
        chance?: number;
        killedByPlayer?: boolean;
        lootingBonus?: number;
    }[];
    appearance?: {
        geometry?: {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        };
        particles?: ("sparkle" | "flames" | "smoke" | "drip" | "hearts")[];
        scale?: number;
        bodyType?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        primaryColor?: string;
        secondaryColor?: string;
        textureStyle?: "gradient" | "solid" | "spotted" | "striped" | "organic" | "armored";
        eyes?: "normal" | "none" | "glowing" | "red";
        texture?: {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
    };
    families?: string[];
    componentGroups?: Record<string, Record<string, any>>;
    spawning?: {
        weight?: number;
        biomes?: string[];
        groupSize?: {
            max?: number;
            min?: number;
        };
        lightLevel?: {
            max?: number;
            min?: number;
        };
        heightRange?: {
            max?: number;
            min?: number;
        };
        timeOfDay?: "any" | "day" | "night";
        surface?: boolean;
        spawnOn?: string[];
        populationCap?: number;
        rarity?: number;
    };
}>;
/**
 * Block traits.
 */
export declare const BlockTraitSchema: z.ZodEnum<["solid", "transparent", "leaves", "log", "slab", "stairs", "fence", "wall", "door", "trapdoor", "container", "workstation", "light_source", "gravity", "liquid", "redstone_signal", "redstone_receiver", "button", "lever", "pressure_plate"]>;
/**
 * Block shape.
 */
export declare const BlockShapeSchema: z.ZodEnum<["cube", "slab", "stairs", "fence", "wall", "cross", "custom"]>;
/**
 * Block sound type.
 */
export declare const BlockSoundSchema: z.ZodEnum<["stone", "wood", "gravel", "grass", "sand", "glass", "metal", "cloth", "snow", "coral"]>;
/**
 * Block texture.
 */
export declare const BlockTextureSchema: z.ZodObject<{
    all: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
        file: z.ZodOptional<z.ZodString>;
        generate: z.ZodOptional<z.ZodObject<{
            type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
            colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                r: z.ZodNumber;
                g: z.ZodNumber;
                b: z.ZodNumber;
                a: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>]>, "many">>;
            factor: z.ZodOptional<z.ZodNumber>;
            seed: z.ZodOptional<z.ZodNumber>;
            pixelSize: z.ZodOptional<z.ZodNumber>;
            scale: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }>>;
        pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
            scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
            x: z.ZodOptional<z.ZodNumber>;
            y: z.ZodOptional<z.ZodNumber>;
            lines: z.ZodArray<z.ZodString, "many">;
            palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                r: z.ZodOptional<z.ZodNumber>;
                g: z.ZodOptional<z.ZodNumber>;
                b: z.ZodOptional<z.ZodNumber>;
                a: z.ZodOptional<z.ZodNumber>;
                hex: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>>;
        }, "strip", z.ZodTypeAny, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }>, "many">>;
    }, "strip", z.ZodTypeAny, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }>]>>;
    up: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
        file: z.ZodOptional<z.ZodString>;
        generate: z.ZodOptional<z.ZodObject<{
            type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
            colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                r: z.ZodNumber;
                g: z.ZodNumber;
                b: z.ZodNumber;
                a: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>]>, "many">>;
            factor: z.ZodOptional<z.ZodNumber>;
            seed: z.ZodOptional<z.ZodNumber>;
            pixelSize: z.ZodOptional<z.ZodNumber>;
            scale: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }>>;
        pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
            scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
            x: z.ZodOptional<z.ZodNumber>;
            y: z.ZodOptional<z.ZodNumber>;
            lines: z.ZodArray<z.ZodString, "many">;
            palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                r: z.ZodOptional<z.ZodNumber>;
                g: z.ZodOptional<z.ZodNumber>;
                b: z.ZodOptional<z.ZodNumber>;
                a: z.ZodOptional<z.ZodNumber>;
                hex: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>>;
        }, "strip", z.ZodTypeAny, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }>, "many">>;
    }, "strip", z.ZodTypeAny, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }>]>>;
    down: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
        file: z.ZodOptional<z.ZodString>;
        generate: z.ZodOptional<z.ZodObject<{
            type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
            colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                r: z.ZodNumber;
                g: z.ZodNumber;
                b: z.ZodNumber;
                a: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>]>, "many">>;
            factor: z.ZodOptional<z.ZodNumber>;
            seed: z.ZodOptional<z.ZodNumber>;
            pixelSize: z.ZodOptional<z.ZodNumber>;
            scale: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }>>;
        pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
            scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
            x: z.ZodOptional<z.ZodNumber>;
            y: z.ZodOptional<z.ZodNumber>;
            lines: z.ZodArray<z.ZodString, "many">;
            palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                r: z.ZodOptional<z.ZodNumber>;
                g: z.ZodOptional<z.ZodNumber>;
                b: z.ZodOptional<z.ZodNumber>;
                a: z.ZodOptional<z.ZodNumber>;
                hex: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>>;
        }, "strip", z.ZodTypeAny, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }>, "many">>;
    }, "strip", z.ZodTypeAny, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }>]>>;
    north: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
        file: z.ZodOptional<z.ZodString>;
        generate: z.ZodOptional<z.ZodObject<{
            type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
            colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                r: z.ZodNumber;
                g: z.ZodNumber;
                b: z.ZodNumber;
                a: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>]>, "many">>;
            factor: z.ZodOptional<z.ZodNumber>;
            seed: z.ZodOptional<z.ZodNumber>;
            pixelSize: z.ZodOptional<z.ZodNumber>;
            scale: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }>>;
        pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
            scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
            x: z.ZodOptional<z.ZodNumber>;
            y: z.ZodOptional<z.ZodNumber>;
            lines: z.ZodArray<z.ZodString, "many">;
            palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                r: z.ZodOptional<z.ZodNumber>;
                g: z.ZodOptional<z.ZodNumber>;
                b: z.ZodOptional<z.ZodNumber>;
                a: z.ZodOptional<z.ZodNumber>;
                hex: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>>;
        }, "strip", z.ZodTypeAny, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }>, "many">>;
    }, "strip", z.ZodTypeAny, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }>]>>;
    south: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
        file: z.ZodOptional<z.ZodString>;
        generate: z.ZodOptional<z.ZodObject<{
            type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
            colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                r: z.ZodNumber;
                g: z.ZodNumber;
                b: z.ZodNumber;
                a: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>]>, "many">>;
            factor: z.ZodOptional<z.ZodNumber>;
            seed: z.ZodOptional<z.ZodNumber>;
            pixelSize: z.ZodOptional<z.ZodNumber>;
            scale: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }>>;
        pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
            scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
            x: z.ZodOptional<z.ZodNumber>;
            y: z.ZodOptional<z.ZodNumber>;
            lines: z.ZodArray<z.ZodString, "many">;
            palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                r: z.ZodOptional<z.ZodNumber>;
                g: z.ZodOptional<z.ZodNumber>;
                b: z.ZodOptional<z.ZodNumber>;
                a: z.ZodOptional<z.ZodNumber>;
                hex: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>>;
        }, "strip", z.ZodTypeAny, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }>, "many">>;
    }, "strip", z.ZodTypeAny, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }>]>>;
    east: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
        file: z.ZodOptional<z.ZodString>;
        generate: z.ZodOptional<z.ZodObject<{
            type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
            colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                r: z.ZodNumber;
                g: z.ZodNumber;
                b: z.ZodNumber;
                a: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>]>, "many">>;
            factor: z.ZodOptional<z.ZodNumber>;
            seed: z.ZodOptional<z.ZodNumber>;
            pixelSize: z.ZodOptional<z.ZodNumber>;
            scale: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }>>;
        pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
            scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
            x: z.ZodOptional<z.ZodNumber>;
            y: z.ZodOptional<z.ZodNumber>;
            lines: z.ZodArray<z.ZodString, "many">;
            palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                r: z.ZodOptional<z.ZodNumber>;
                g: z.ZodOptional<z.ZodNumber>;
                b: z.ZodOptional<z.ZodNumber>;
                a: z.ZodOptional<z.ZodNumber>;
                hex: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>>;
        }, "strip", z.ZodTypeAny, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }>, "many">>;
    }, "strip", z.ZodTypeAny, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }>]>>;
    west: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
        file: z.ZodOptional<z.ZodString>;
        generate: z.ZodOptional<z.ZodObject<{
            type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
            colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                r: z.ZodNumber;
                g: z.ZodNumber;
                b: z.ZodNumber;
                a: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>]>, "many">>;
            factor: z.ZodOptional<z.ZodNumber>;
            seed: z.ZodOptional<z.ZodNumber>;
            pixelSize: z.ZodOptional<z.ZodNumber>;
            scale: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }>>;
        pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
            scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
            x: z.ZodOptional<z.ZodNumber>;
            y: z.ZodOptional<z.ZodNumber>;
            lines: z.ZodArray<z.ZodString, "many">;
            palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                r: z.ZodOptional<z.ZodNumber>;
                g: z.ZodOptional<z.ZodNumber>;
                b: z.ZodOptional<z.ZodNumber>;
                a: z.ZodOptional<z.ZodNumber>;
                hex: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>>;
        }, "strip", z.ZodTypeAny, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }>, "many">>;
    }, "strip", z.ZodTypeAny, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }>]>>;
    side: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
        file: z.ZodOptional<z.ZodString>;
        generate: z.ZodOptional<z.ZodObject<{
            type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
            colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                r: z.ZodNumber;
                g: z.ZodNumber;
                b: z.ZodNumber;
                a: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>]>, "many">>;
            factor: z.ZodOptional<z.ZodNumber>;
            seed: z.ZodOptional<z.ZodNumber>;
            pixelSize: z.ZodOptional<z.ZodNumber>;
            scale: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }>>;
        pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
            scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
            x: z.ZodOptional<z.ZodNumber>;
            y: z.ZodOptional<z.ZodNumber>;
            lines: z.ZodArray<z.ZodString, "many">;
            palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                r: z.ZodOptional<z.ZodNumber>;
                g: z.ZodOptional<z.ZodNumber>;
                b: z.ZodOptional<z.ZodNumber>;
                a: z.ZodOptional<z.ZodNumber>;
                hex: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>>;
        }, "strip", z.ZodTypeAny, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }>, "many">>;
    }, "strip", z.ZodTypeAny, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }>]>>;
}, "strip", z.ZodTypeAny, {
    all?: string | {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    };
    side?: string | {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    };
    up?: string | {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    };
    north?: string | {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    };
    south?: string | {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    };
    east?: string | {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    };
    west?: string | {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    };
    down?: string | {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    };
}, {
    all?: string | {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    };
    side?: string | {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    };
    up?: string | {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    };
    north?: string | {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    };
    south?: string | {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    };
    east?: string | {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    };
    west?: string | {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    };
    down?: string | {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    };
}>;
/**
 * Flammable config.
 */
export declare const FlammableConfigSchema: z.ZodObject<{
    catchChance: z.ZodNumber;
    destroyChance: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    catchChance?: number;
    destroyChance?: number;
}, {
    catchChance?: number;
    destroyChance?: number;
}>;
/**
 * Block type definition.
 */
export declare const BlockTypeSchema: z.ZodObject<{
    id: z.ZodString;
    displayName: z.ZodString;
    traits: z.ZodOptional<z.ZodArray<z.ZodEnum<["solid", "transparent", "leaves", "log", "slab", "stairs", "fence", "wall", "door", "trapdoor", "container", "workstation", "light_source", "gravity", "liquid", "redstone_signal", "redstone_receiver", "button", "lever", "pressure_plate"]>, "many">>;
    destroyTime: z.ZodOptional<z.ZodNumber>;
    explosionResistance: z.ZodOptional<z.ZodNumber>;
    friction: z.ZodOptional<z.ZodNumber>;
    lightEmission: z.ZodOptional<z.ZodNumber>;
    lightDampening: z.ZodOptional<z.ZodNumber>;
    flammable: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
        catchChance: z.ZodNumber;
        destroyChance: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        catchChance?: number;
        destroyChance?: number;
    }, {
        catchChance?: number;
        destroyChance?: number;
    }>]>>;
    mapColor: z.ZodOptional<z.ZodString>;
    shape: z.ZodOptional<z.ZodEnum<["cube", "slab", "stairs", "fence", "wall", "cross", "custom"]>>;
    drops: z.ZodOptional<z.ZodArray<z.ZodObject<{
        item: z.ZodString;
        chance: z.ZodOptional<z.ZodNumber>;
        count: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
            min: z.ZodNumber;
            max: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            max?: number;
            min?: number;
        }, {
            max?: number;
            min?: number;
        }>]>>;
        killedByPlayer: z.ZodOptional<z.ZodBoolean>;
        lootingBonus: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        count?: number | {
            max?: number;
            min?: number;
        };
        item?: string;
        chance?: number;
        killedByPlayer?: boolean;
        lootingBonus?: number;
    }, {
        count?: number | {
            max?: number;
            min?: number;
        };
        item?: string;
        chance?: number;
        killedByPlayer?: boolean;
        lootingBonus?: number;
    }>, "many">>;
    texture: z.ZodOptional<z.ZodObject<{
        all: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
            file: z.ZodOptional<z.ZodString>;
            generate: z.ZodOptional<z.ZodObject<{
                type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
                colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                    r: z.ZodNumber;
                    g: z.ZodNumber;
                    b: z.ZodNumber;
                    a: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>]>, "many">>;
                factor: z.ZodOptional<z.ZodNumber>;
                seed: z.ZodOptional<z.ZodNumber>;
                pixelSize: z.ZodOptional<z.ZodNumber>;
                scale: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }>>;
            pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
                scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
                x: z.ZodOptional<z.ZodNumber>;
                y: z.ZodOptional<z.ZodNumber>;
                lines: z.ZodArray<z.ZodString, "many">;
                palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                    r: z.ZodOptional<z.ZodNumber>;
                    g: z.ZodOptional<z.ZodNumber>;
                    b: z.ZodOptional<z.ZodNumber>;
                    a: z.ZodOptional<z.ZodNumber>;
                    hex: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>>;
            }, "strip", z.ZodTypeAny, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }>, "many">>;
        }, "strip", z.ZodTypeAny, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }>]>>;
        up: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
            file: z.ZodOptional<z.ZodString>;
            generate: z.ZodOptional<z.ZodObject<{
                type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
                colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                    r: z.ZodNumber;
                    g: z.ZodNumber;
                    b: z.ZodNumber;
                    a: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>]>, "many">>;
                factor: z.ZodOptional<z.ZodNumber>;
                seed: z.ZodOptional<z.ZodNumber>;
                pixelSize: z.ZodOptional<z.ZodNumber>;
                scale: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }>>;
            pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
                scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
                x: z.ZodOptional<z.ZodNumber>;
                y: z.ZodOptional<z.ZodNumber>;
                lines: z.ZodArray<z.ZodString, "many">;
                palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                    r: z.ZodOptional<z.ZodNumber>;
                    g: z.ZodOptional<z.ZodNumber>;
                    b: z.ZodOptional<z.ZodNumber>;
                    a: z.ZodOptional<z.ZodNumber>;
                    hex: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>>;
            }, "strip", z.ZodTypeAny, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }>, "many">>;
        }, "strip", z.ZodTypeAny, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }>]>>;
        down: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
            file: z.ZodOptional<z.ZodString>;
            generate: z.ZodOptional<z.ZodObject<{
                type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
                colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                    r: z.ZodNumber;
                    g: z.ZodNumber;
                    b: z.ZodNumber;
                    a: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>]>, "many">>;
                factor: z.ZodOptional<z.ZodNumber>;
                seed: z.ZodOptional<z.ZodNumber>;
                pixelSize: z.ZodOptional<z.ZodNumber>;
                scale: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }>>;
            pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
                scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
                x: z.ZodOptional<z.ZodNumber>;
                y: z.ZodOptional<z.ZodNumber>;
                lines: z.ZodArray<z.ZodString, "many">;
                palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                    r: z.ZodOptional<z.ZodNumber>;
                    g: z.ZodOptional<z.ZodNumber>;
                    b: z.ZodOptional<z.ZodNumber>;
                    a: z.ZodOptional<z.ZodNumber>;
                    hex: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>>;
            }, "strip", z.ZodTypeAny, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }>, "many">>;
        }, "strip", z.ZodTypeAny, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }>]>>;
        north: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
            file: z.ZodOptional<z.ZodString>;
            generate: z.ZodOptional<z.ZodObject<{
                type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
                colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                    r: z.ZodNumber;
                    g: z.ZodNumber;
                    b: z.ZodNumber;
                    a: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>]>, "many">>;
                factor: z.ZodOptional<z.ZodNumber>;
                seed: z.ZodOptional<z.ZodNumber>;
                pixelSize: z.ZodOptional<z.ZodNumber>;
                scale: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }>>;
            pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
                scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
                x: z.ZodOptional<z.ZodNumber>;
                y: z.ZodOptional<z.ZodNumber>;
                lines: z.ZodArray<z.ZodString, "many">;
                palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                    r: z.ZodOptional<z.ZodNumber>;
                    g: z.ZodOptional<z.ZodNumber>;
                    b: z.ZodOptional<z.ZodNumber>;
                    a: z.ZodOptional<z.ZodNumber>;
                    hex: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>>;
            }, "strip", z.ZodTypeAny, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }>, "many">>;
        }, "strip", z.ZodTypeAny, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }>]>>;
        south: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
            file: z.ZodOptional<z.ZodString>;
            generate: z.ZodOptional<z.ZodObject<{
                type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
                colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                    r: z.ZodNumber;
                    g: z.ZodNumber;
                    b: z.ZodNumber;
                    a: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>]>, "many">>;
                factor: z.ZodOptional<z.ZodNumber>;
                seed: z.ZodOptional<z.ZodNumber>;
                pixelSize: z.ZodOptional<z.ZodNumber>;
                scale: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }>>;
            pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
                scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
                x: z.ZodOptional<z.ZodNumber>;
                y: z.ZodOptional<z.ZodNumber>;
                lines: z.ZodArray<z.ZodString, "many">;
                palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                    r: z.ZodOptional<z.ZodNumber>;
                    g: z.ZodOptional<z.ZodNumber>;
                    b: z.ZodOptional<z.ZodNumber>;
                    a: z.ZodOptional<z.ZodNumber>;
                    hex: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>>;
            }, "strip", z.ZodTypeAny, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }>, "many">>;
        }, "strip", z.ZodTypeAny, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }>]>>;
        east: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
            file: z.ZodOptional<z.ZodString>;
            generate: z.ZodOptional<z.ZodObject<{
                type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
                colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                    r: z.ZodNumber;
                    g: z.ZodNumber;
                    b: z.ZodNumber;
                    a: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>]>, "many">>;
                factor: z.ZodOptional<z.ZodNumber>;
                seed: z.ZodOptional<z.ZodNumber>;
                pixelSize: z.ZodOptional<z.ZodNumber>;
                scale: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }>>;
            pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
                scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
                x: z.ZodOptional<z.ZodNumber>;
                y: z.ZodOptional<z.ZodNumber>;
                lines: z.ZodArray<z.ZodString, "many">;
                palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                    r: z.ZodOptional<z.ZodNumber>;
                    g: z.ZodOptional<z.ZodNumber>;
                    b: z.ZodOptional<z.ZodNumber>;
                    a: z.ZodOptional<z.ZodNumber>;
                    hex: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>>;
            }, "strip", z.ZodTypeAny, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }>, "many">>;
        }, "strip", z.ZodTypeAny, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }>]>>;
        west: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
            file: z.ZodOptional<z.ZodString>;
            generate: z.ZodOptional<z.ZodObject<{
                type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
                colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                    r: z.ZodNumber;
                    g: z.ZodNumber;
                    b: z.ZodNumber;
                    a: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>]>, "many">>;
                factor: z.ZodOptional<z.ZodNumber>;
                seed: z.ZodOptional<z.ZodNumber>;
                pixelSize: z.ZodOptional<z.ZodNumber>;
                scale: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }>>;
            pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
                scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
                x: z.ZodOptional<z.ZodNumber>;
                y: z.ZodOptional<z.ZodNumber>;
                lines: z.ZodArray<z.ZodString, "many">;
                palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                    r: z.ZodOptional<z.ZodNumber>;
                    g: z.ZodOptional<z.ZodNumber>;
                    b: z.ZodOptional<z.ZodNumber>;
                    a: z.ZodOptional<z.ZodNumber>;
                    hex: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>>;
            }, "strip", z.ZodTypeAny, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }>, "many">>;
        }, "strip", z.ZodTypeAny, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }>]>>;
        side: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
            file: z.ZodOptional<z.ZodString>;
            generate: z.ZodOptional<z.ZodObject<{
                type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
                colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                    r: z.ZodNumber;
                    g: z.ZodNumber;
                    b: z.ZodNumber;
                    a: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>]>, "many">>;
                factor: z.ZodOptional<z.ZodNumber>;
                seed: z.ZodOptional<z.ZodNumber>;
                pixelSize: z.ZodOptional<z.ZodNumber>;
                scale: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }>>;
            pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
                scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
                x: z.ZodOptional<z.ZodNumber>;
                y: z.ZodOptional<z.ZodNumber>;
                lines: z.ZodArray<z.ZodString, "many">;
                palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                    r: z.ZodOptional<z.ZodNumber>;
                    g: z.ZodOptional<z.ZodNumber>;
                    b: z.ZodOptional<z.ZodNumber>;
                    a: z.ZodOptional<z.ZodNumber>;
                    hex: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>>;
            }, "strip", z.ZodTypeAny, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }>, "many">>;
        }, "strip", z.ZodTypeAny, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }>]>>;
    }, "strip", z.ZodTypeAny, {
        all?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        side?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        up?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        north?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        south?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        east?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        west?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        down?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
    }, {
        all?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        side?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        up?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        north?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        south?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        east?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        west?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        down?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
    }>>;
    geometry: z.ZodOptional<z.ZodObject<{
        file: z.ZodOptional<z.ZodString>;
        template: z.ZodOptional<z.ZodEnum<["humanoid", "quadruped", "quadruped_small", "bird", "fish", "insect", "slime", "flying", "block", "item"]>>;
        design: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
    }, "strip", z.ZodTypeAny, {
        template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        file?: string;
        design?: Record<string, any>;
    }, {
        template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        file?: string;
        design?: Record<string, any>;
    }>>;
    sounds: z.ZodOptional<z.ZodEnum<["stone", "wood", "gravel", "grass", "sand", "glass", "metal", "cloth", "snow", "coral"]>>;
    components: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    permutations: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
    states: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodArray<z.ZodBoolean, "many">, z.ZodArray<z.ZodNumber, "many">, z.ZodArray<z.ZodString, "many">]>>>;
    events: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strip", z.ZodTypeAny, {
    geometry?: {
        template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        file?: string;
        design?: Record<string, any>;
    };
    sounds?: "stone" | "wood" | "gravel" | "grass" | "sand" | "glass" | "metal" | "cloth" | "snow" | "coral";
    shape?: "custom" | "slab" | "stairs" | "fence" | "wall" | "cube" | "cross";
    id?: string;
    states?: Record<string, string[] | number[] | boolean[]>;
    components?: Record<string, unknown>;
    events?: Record<string, unknown>;
    traits?: ("log" | "leaves" | "solid" | "transparent" | "slab" | "stairs" | "fence" | "wall" | "door" | "trapdoor" | "container" | "workstation" | "light_source" | "gravity" | "liquid" | "redstone_signal" | "redstone_receiver" | "button" | "lever" | "pressure_plate")[];
    permutations?: Record<string, unknown>[];
    texture?: {
        all?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        side?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        up?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        north?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        south?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        east?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        west?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        down?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
    };
    displayName?: string;
    drops?: {
        count?: number | {
            max?: number;
            min?: number;
        };
        item?: string;
        chance?: number;
        killedByPlayer?: boolean;
        lootingBonus?: number;
    }[];
    destroyTime?: number;
    explosionResistance?: number;
    friction?: number;
    lightEmission?: number;
    lightDampening?: number;
    flammable?: boolean | {
        catchChance?: number;
        destroyChance?: number;
    };
    mapColor?: string;
}, {
    geometry?: {
        template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        file?: string;
        design?: Record<string, any>;
    };
    sounds?: "stone" | "wood" | "gravel" | "grass" | "sand" | "glass" | "metal" | "cloth" | "snow" | "coral";
    shape?: "custom" | "slab" | "stairs" | "fence" | "wall" | "cube" | "cross";
    id?: string;
    states?: Record<string, string[] | number[] | boolean[]>;
    components?: Record<string, unknown>;
    events?: Record<string, unknown>;
    traits?: ("log" | "leaves" | "solid" | "transparent" | "slab" | "stairs" | "fence" | "wall" | "door" | "trapdoor" | "container" | "workstation" | "light_source" | "gravity" | "liquid" | "redstone_signal" | "redstone_receiver" | "button" | "lever" | "pressure_plate")[];
    permutations?: Record<string, unknown>[];
    texture?: {
        all?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        side?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        up?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        north?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        south?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        east?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        west?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        down?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
    };
    displayName?: string;
    drops?: {
        count?: number | {
            max?: number;
            min?: number;
        };
        item?: string;
        chance?: number;
        killedByPlayer?: boolean;
        lootingBonus?: number;
    }[];
    destroyTime?: number;
    explosionResistance?: number;
    friction?: number;
    lightEmission?: number;
    lightDampening?: number;
    flammable?: boolean | {
        catchChance?: number;
        destroyChance?: number;
    };
    mapColor?: string;
}>;
/**
 * Item traits.
 */
export declare const ItemTraitSchema: z.ZodEnum<["sword", "pickaxe", "axe", "shovel", "hoe", "bow", "crossbow", "food", "armor_helmet", "armor_chestplate", "armor_leggings", "armor_boots", "throwable", "placeable"]>;
/**
 * Item category.
 */
export declare const ItemCategorySchema: z.ZodEnum<["construction", "nature", "equipment", "items", "none"]>;
/**
 * Food effect.
 */
export declare const FoodEffectSchema: z.ZodObject<{
    name: z.ZodString;
    duration: z.ZodNumber;
    amplifier: z.ZodOptional<z.ZodNumber>;
    chance: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    name?: string;
    duration?: number;
    chance?: number;
    amplifier?: number;
}, {
    name?: string;
    duration?: number;
    chance?: number;
    amplifier?: number;
}>;
/**
 * Food properties.
 */
export declare const FoodPropertiesSchema: z.ZodObject<{
    nutrition: z.ZodNumber;
    saturation: z.ZodOptional<z.ZodNumber>;
    canAlwaysEat: z.ZodOptional<z.ZodBoolean>;
    effects: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        duration: z.ZodNumber;
        amplifier: z.ZodOptional<z.ZodNumber>;
        chance: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        name?: string;
        duration?: number;
        chance?: number;
        amplifier?: number;
    }, {
        name?: string;
        duration?: number;
        chance?: number;
        amplifier?: number;
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    effects?: {
        name?: string;
        duration?: number;
        chance?: number;
        amplifier?: number;
    }[];
    nutrition?: number;
    saturation?: number;
    canAlwaysEat?: boolean;
}, {
    effects?: {
        name?: string;
        duration?: number;
        chance?: number;
        amplifier?: number;
    }[];
    nutrition?: number;
    saturation?: number;
    canAlwaysEat?: boolean;
}>;
/**
 * Tool properties.
 */
export declare const ToolPropertiesSchema: z.ZodObject<{
    miningSpeed: z.ZodOptional<z.ZodNumber>;
    miningLevel: z.ZodOptional<z.ZodEnum<["wood", "stone", "iron", "diamond", "netherite"]>>;
    durability: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    miningSpeed?: number;
    miningLevel?: "stone" | "wood" | "iron" | "diamond" | "netherite";
    durability?: number;
}, {
    miningSpeed?: number;
    miningLevel?: "stone" | "wood" | "iron" | "diamond" | "netherite";
    durability?: number;
}>;
/**
 * Weapon properties.
 */
export declare const WeaponPropertiesSchema: z.ZodObject<{
    damage: z.ZodNumber;
    attackSpeed: z.ZodOptional<z.ZodNumber>;
    durability: z.ZodOptional<z.ZodNumber>;
    knockback: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    damage?: number;
    durability?: number;
    attackSpeed?: number;
    knockback?: number;
}, {
    damage?: number;
    durability?: number;
    attackSpeed?: number;
    knockback?: number;
}>;
/**
 * Armor properties.
 */
export declare const ArmorPropertiesSchema: z.ZodObject<{
    defense: z.ZodNumber;
    slot: z.ZodEnum<["helmet", "chestplate", "leggings", "boots"]>;
    durability: z.ZodNumber;
    toughness: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    slot?: "helmet" | "chestplate" | "leggings" | "boots";
    durability?: number;
    defense?: number;
    toughness?: number;
}, {
    slot?: "helmet" | "chestplate" | "leggings" | "boots";
    durability?: number;
    defense?: number;
    toughness?: number;
}>;
/**
 * Projectile properties (bow/crossbow/throwable items).
 */
export declare const ProjectilePropertiesSchema: z.ZodObject<{
    projectile: z.ZodString;
    launchPower: z.ZodOptional<z.ZodNumber>;
    chargeable: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    projectile?: string;
    launchPower?: number;
    chargeable?: boolean;
}, {
    projectile?: string;
    launchPower?: number;
    chargeable?: boolean;
}>;
/**
 * Item type definition.
 */
export declare const ItemTypeSchema: z.ZodObject<{
    id: z.ZodString;
    displayName: z.ZodString;
    traits: z.ZodOptional<z.ZodArray<z.ZodEnum<["sword", "pickaxe", "axe", "shovel", "hoe", "bow", "crossbow", "food", "armor_helmet", "armor_chestplate", "armor_leggings", "armor_boots", "throwable", "placeable"]>, "many">>;
    maxStackSize: z.ZodOptional<z.ZodNumber>;
    category: z.ZodOptional<z.ZodEnum<["construction", "nature", "equipment", "items", "none"]>>;
    durability: z.ZodOptional<z.ZodNumber>;
    food: z.ZodOptional<z.ZodObject<{
        nutrition: z.ZodNumber;
        saturation: z.ZodOptional<z.ZodNumber>;
        canAlwaysEat: z.ZodOptional<z.ZodBoolean>;
        effects: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            duration: z.ZodNumber;
            amplifier: z.ZodOptional<z.ZodNumber>;
            chance: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            name?: string;
            duration?: number;
            chance?: number;
            amplifier?: number;
        }, {
            name?: string;
            duration?: number;
            chance?: number;
            amplifier?: number;
        }>, "many">>;
    }, "strip", z.ZodTypeAny, {
        effects?: {
            name?: string;
            duration?: number;
            chance?: number;
            amplifier?: number;
        }[];
        nutrition?: number;
        saturation?: number;
        canAlwaysEat?: boolean;
    }, {
        effects?: {
            name?: string;
            duration?: number;
            chance?: number;
            amplifier?: number;
        }[];
        nutrition?: number;
        saturation?: number;
        canAlwaysEat?: boolean;
    }>>;
    tool: z.ZodOptional<z.ZodObject<{
        miningSpeed: z.ZodOptional<z.ZodNumber>;
        miningLevel: z.ZodOptional<z.ZodEnum<["wood", "stone", "iron", "diamond", "netherite"]>>;
        durability: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        miningSpeed?: number;
        miningLevel?: "stone" | "wood" | "iron" | "diamond" | "netherite";
        durability?: number;
    }, {
        miningSpeed?: number;
        miningLevel?: "stone" | "wood" | "iron" | "diamond" | "netherite";
        durability?: number;
    }>>;
    weapon: z.ZodOptional<z.ZodObject<{
        damage: z.ZodNumber;
        attackSpeed: z.ZodOptional<z.ZodNumber>;
        durability: z.ZodOptional<z.ZodNumber>;
        knockback: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        damage?: number;
        durability?: number;
        attackSpeed?: number;
        knockback?: number;
    }, {
        damage?: number;
        durability?: number;
        attackSpeed?: number;
        knockback?: number;
    }>>;
    armor: z.ZodOptional<z.ZodObject<{
        defense: z.ZodNumber;
        slot: z.ZodEnum<["helmet", "chestplate", "leggings", "boots"]>;
        durability: z.ZodNumber;
        toughness: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        slot?: "helmet" | "chestplate" | "leggings" | "boots";
        durability?: number;
        defense?: number;
        toughness?: number;
    }, {
        slot?: "helmet" | "chestplate" | "leggings" | "boots";
        durability?: number;
        defense?: number;
        toughness?: number;
    }>>;
    projectile: z.ZodOptional<z.ZodObject<{
        projectile: z.ZodString;
        launchPower: z.ZodOptional<z.ZodNumber>;
        chargeable: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        projectile?: string;
        launchPower?: number;
        chargeable?: boolean;
    }, {
        projectile?: string;
        launchPower?: number;
        chargeable?: boolean;
    }>>;
    glint: z.ZodOptional<z.ZodBoolean>;
    fuel: z.ZodOptional<z.ZodNumber>;
    color: z.ZodOptional<z.ZodString>;
    icon: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
        file: z.ZodOptional<z.ZodString>;
        generate: z.ZodOptional<z.ZodObject<{
            type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
            colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                r: z.ZodNumber;
                g: z.ZodNumber;
                b: z.ZodNumber;
                a: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>]>, "many">>;
            factor: z.ZodOptional<z.ZodNumber>;
            seed: z.ZodOptional<z.ZodNumber>;
            pixelSize: z.ZodOptional<z.ZodNumber>;
            scale: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }>>;
        pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
            scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
            x: z.ZodOptional<z.ZodNumber>;
            y: z.ZodOptional<z.ZodNumber>;
            lines: z.ZodArray<z.ZodString, "many">;
            palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                r: z.ZodOptional<z.ZodNumber>;
                g: z.ZodOptional<z.ZodNumber>;
                b: z.ZodOptional<z.ZodNumber>;
                a: z.ZodOptional<z.ZodNumber>;
                hex: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>>;
        }, "strip", z.ZodTypeAny, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }>, "many">>;
    }, "strip", z.ZodTypeAny, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }>]>>;
    geometry: z.ZodOptional<z.ZodObject<{
        file: z.ZodOptional<z.ZodString>;
        template: z.ZodOptional<z.ZodEnum<["humanoid", "quadruped", "quadruped_small", "bird", "fish", "insect", "slime", "flying", "block", "item"]>>;
        design: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
    }, "strip", z.ZodTypeAny, {
        template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        file?: string;
        design?: Record<string, any>;
    }, {
        template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        file?: string;
        design?: Record<string, any>;
    }>>;
    components: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
    events: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
}, "strip", z.ZodTypeAny, {
    geometry?: {
        template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        file?: string;
        design?: Record<string, any>;
    };
    category?: "items" | "none" | "equipment" | "construction" | "nature";
    id?: string;
    color?: string;
    components?: Record<string, any>;
    weapon?: {
        damage?: number;
        durability?: number;
        attackSpeed?: number;
        knockback?: number;
    };
    tool?: {
        miningSpeed?: number;
        miningLevel?: "stone" | "wood" | "iron" | "diamond" | "netherite";
        durability?: number;
    };
    armor?: {
        slot?: "helmet" | "chestplate" | "leggings" | "boots";
        durability?: number;
        defense?: number;
        toughness?: number;
    };
    events?: Record<string, any>;
    food?: {
        effects?: {
            name?: string;
            duration?: number;
            chance?: number;
            amplifier?: number;
        }[];
        nutrition?: number;
        saturation?: number;
        canAlwaysEat?: boolean;
    };
    projectile?: {
        projectile?: string;
        launchPower?: number;
        chargeable?: boolean;
    };
    traits?: ("food" | "pickaxe" | "sword" | "axe" | "shovel" | "hoe" | "bow" | "crossbow" | "armor_helmet" | "armor_chestplate" | "armor_leggings" | "armor_boots" | "throwable" | "placeable")[];
    displayName?: string;
    durability?: number;
    maxStackSize?: number;
    glint?: boolean;
    fuel?: number;
    icon?: string | {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    };
}, {
    geometry?: {
        template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        file?: string;
        design?: Record<string, any>;
    };
    category?: "items" | "none" | "equipment" | "construction" | "nature";
    id?: string;
    color?: string;
    components?: Record<string, any>;
    weapon?: {
        damage?: number;
        durability?: number;
        attackSpeed?: number;
        knockback?: number;
    };
    tool?: {
        miningSpeed?: number;
        miningLevel?: "stone" | "wood" | "iron" | "diamond" | "netherite";
        durability?: number;
    };
    armor?: {
        slot?: "helmet" | "chestplate" | "leggings" | "boots";
        durability?: number;
        defense?: number;
        toughness?: number;
    };
    events?: Record<string, any>;
    food?: {
        effects?: {
            name?: string;
            duration?: number;
            chance?: number;
            amplifier?: number;
        }[];
        nutrition?: number;
        saturation?: number;
        canAlwaysEat?: boolean;
    };
    projectile?: {
        projectile?: string;
        launchPower?: number;
        chargeable?: boolean;
    };
    traits?: ("food" | "pickaxe" | "sword" | "axe" | "shovel" | "hoe" | "bow" | "crossbow" | "armor_helmet" | "armor_chestplate" | "armor_leggings" | "armor_boots" | "throwable" | "placeable")[];
    displayName?: string;
    durability?: number;
    maxStackSize?: number;
    glint?: boolean;
    fuel?: number;
    icon?: string | {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    };
}>;
/**
 * Block volume for inline structure definition.
 * Uses same format as MCP structure design tools.
 */
export declare const BlockVolumeSchema: z.ZodObject<{
    southWestBottom: z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
        z: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        x?: number;
        y?: number;
        z?: number;
    }, {
        x?: number;
        y?: number;
        z?: number;
    }>;
    size: z.ZodOptional<z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
        z: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        x?: number;
        y?: number;
        z?: number;
    }, {
        x?: number;
        y?: number;
        z?: number;
    }>>;
    blockLayersBottomToTop: z.ZodArray<z.ZodArray<z.ZodString, "many">, "many">;
    key: z.ZodRecord<z.ZodString, z.ZodObject<{
        typeId: z.ZodString;
        properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
    }, "strip", z.ZodTypeAny, {
        properties?: Record<string, string | number | boolean>;
        typeId?: string;
    }, {
        properties?: Record<string, string | number | boolean>;
        typeId?: string;
    }>>;
}, "strip", z.ZodTypeAny, {
    size?: {
        x?: number;
        y?: number;
        z?: number;
    };
    key?: Record<string, {
        properties?: Record<string, string | number | boolean>;
        typeId?: string;
    }>;
    southWestBottom?: {
        x?: number;
        y?: number;
        z?: number;
    };
    blockLayersBottomToTop?: string[][];
}, {
    size?: {
        x?: number;
        y?: number;
        z?: number;
    };
    key?: Record<string, {
        properties?: Record<string, string | number | boolean>;
        typeId?: string;
    }>;
    southWestBottom?: {
        x?: number;
        y?: number;
        z?: number;
    };
    blockLayersBottomToTop?: string[][];
}>;
/**
 * Jigsaw connection.
 */
export declare const JigsawConnectionSchema: z.ZodObject<{
    name: z.ZodString;
    position: z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
        z: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        x?: number;
        y?: number;
        z?: number;
    }, {
        x?: number;
        y?: number;
        z?: number;
    }>;
    direction: z.ZodEnum<["up", "down", "north", "south", "east", "west"]>;
    canConnectTo: z.ZodArray<z.ZodString, "many">;
    required: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    name?: string;
    required?: boolean;
    direction?: "up" | "north" | "south" | "east" | "west" | "down";
    position?: {
        x?: number;
        y?: number;
        z?: number;
    };
    canConnectTo?: string[];
}, {
    name?: string;
    required?: boolean;
    direction?: "up" | "north" | "south" | "east" | "west" | "down";
    position?: {
        x?: number;
        y?: number;
        z?: number;
    };
    canConnectTo?: string[];
}>;
/**
 * Structure spawn.
 */
export declare const StructureSpawnSchema: z.ZodObject<{
    entity: z.ZodString;
    count: z.ZodUnion<[z.ZodNumber, z.ZodObject<{
        min: z.ZodNumber;
        max: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        max?: number;
        min?: number;
    }, {
        max?: number;
        min?: number;
    }>]>;
    position: z.ZodOptional<z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
        z: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        x?: number;
        y?: number;
        z?: number;
    }, {
        x?: number;
        y?: number;
        z?: number;
    }>>;
    spread: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    entity?: string;
    count?: number | {
        max?: number;
        min?: number;
    };
    position?: {
        x?: number;
        y?: number;
        z?: number;
    };
    spread?: number;
}, {
    entity?: string;
    count?: number | {
        max?: number;
        min?: number;
    };
    position?: {
        x?: number;
        y?: number;
        z?: number;
    };
    spread?: number;
}>;
/**
 * Structure loot.
 */
export declare const StructureLootSchema: z.ZodObject<{
    lootTable: z.ZodString;
    position: z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
        z: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        x?: number;
        y?: number;
        z?: number;
    }, {
        x?: number;
        y?: number;
        z?: number;
    }>;
    containerType: z.ZodOptional<z.ZodEnum<["chest", "barrel", "spawner"]>>;
}, "strip", z.ZodTypeAny, {
    position?: {
        x?: number;
        y?: number;
        z?: number;
    };
    lootTable?: string;
    containerType?: "chest" | "barrel" | "spawner";
}, {
    position?: {
        x?: number;
        y?: number;
        z?: number;
    };
    lootTable?: string;
    containerType?: "chest" | "barrel" | "spawner";
}>;
/**
 * Jigsaw piece.
 */
export declare const JigsawPieceSchema: z.ZodObject<{
    id: z.ZodString;
    structureFile: z.ZodOptional<z.ZodString>;
    blocks: z.ZodOptional<z.ZodObject<{
        southWestBottom: z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x?: number;
            y?: number;
            z?: number;
        }, {
            x?: number;
            y?: number;
            z?: number;
        }>;
        size: z.ZodOptional<z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x?: number;
            y?: number;
            z?: number;
        }, {
            x?: number;
            y?: number;
            z?: number;
        }>>;
        blockLayersBottomToTop: z.ZodArray<z.ZodArray<z.ZodString, "many">, "many">;
        key: z.ZodRecord<z.ZodString, z.ZodObject<{
            typeId: z.ZodString;
            properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
        }, "strip", z.ZodTypeAny, {
            properties?: Record<string, string | number | boolean>;
            typeId?: string;
        }, {
            properties?: Record<string, string | number | boolean>;
            typeId?: string;
        }>>;
    }, "strip", z.ZodTypeAny, {
        size?: {
            x?: number;
            y?: number;
            z?: number;
        };
        key?: Record<string, {
            properties?: Record<string, string | number | boolean>;
            typeId?: string;
        }>;
        southWestBottom?: {
            x?: number;
            y?: number;
            z?: number;
        };
        blockLayersBottomToTop?: string[][];
    }, {
        size?: {
            x?: number;
            y?: number;
            z?: number;
        };
        key?: Record<string, {
            properties?: Record<string, string | number | boolean>;
            typeId?: string;
        }>;
        southWestBottom?: {
            x?: number;
            y?: number;
            z?: number;
        };
        blockLayersBottomToTop?: string[][];
    }>>;
    connections: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        position: z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x?: number;
            y?: number;
            z?: number;
        }, {
            x?: number;
            y?: number;
            z?: number;
        }>;
        direction: z.ZodEnum<["up", "down", "north", "south", "east", "west"]>;
        canConnectTo: z.ZodArray<z.ZodString, "many">;
        required: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        name?: string;
        required?: boolean;
        direction?: "up" | "north" | "south" | "east" | "west" | "down";
        position?: {
            x?: number;
            y?: number;
            z?: number;
        };
        canConnectTo?: string[];
    }, {
        name?: string;
        required?: boolean;
        direction?: "up" | "north" | "south" | "east" | "west" | "down";
        position?: {
            x?: number;
            y?: number;
            z?: number;
        };
        canConnectTo?: string[];
    }>, "many">;
    weight: z.ZodOptional<z.ZodNumber>;
    maxCount: z.ZodOptional<z.ZodNumber>;
    spawns: z.ZodOptional<z.ZodArray<z.ZodObject<{
        entity: z.ZodString;
        count: z.ZodUnion<[z.ZodNumber, z.ZodObject<{
            min: z.ZodNumber;
            max: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            max?: number;
            min?: number;
        }, {
            max?: number;
            min?: number;
        }>]>;
        position: z.ZodOptional<z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x?: number;
            y?: number;
            z?: number;
        }, {
            x?: number;
            y?: number;
            z?: number;
        }>>;
        spread: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        entity?: string;
        count?: number | {
            max?: number;
            min?: number;
        };
        position?: {
            x?: number;
            y?: number;
            z?: number;
        };
        spread?: number;
    }, {
        entity?: string;
        count?: number | {
            max?: number;
            min?: number;
        };
        position?: {
            x?: number;
            y?: number;
            z?: number;
        };
        spread?: number;
    }>, "many">>;
    loot: z.ZodOptional<z.ZodArray<z.ZodObject<{
        lootTable: z.ZodString;
        position: z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x?: number;
            y?: number;
            z?: number;
        }, {
            x?: number;
            y?: number;
            z?: number;
        }>;
        containerType: z.ZodOptional<z.ZodEnum<["chest", "barrel", "spawner"]>>;
    }, "strip", z.ZodTypeAny, {
        position?: {
            x?: number;
            y?: number;
            z?: number;
        };
        lootTable?: string;
        containerType?: "chest" | "barrel" | "spawner";
    }, {
        position?: {
            x?: number;
            y?: number;
            z?: number;
        };
        lootTable?: string;
        containerType?: "chest" | "barrel" | "spawner";
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    blocks?: {
        size?: {
            x?: number;
            y?: number;
            z?: number;
        };
        key?: Record<string, {
            properties?: Record<string, string | number | boolean>;
            typeId?: string;
        }>;
        southWestBottom?: {
            x?: number;
            y?: number;
            z?: number;
        };
        blockLayersBottomToTop?: string[][];
    };
    weight?: number;
    id?: string;
    structureFile?: string;
    connections?: {
        name?: string;
        required?: boolean;
        direction?: "up" | "north" | "south" | "east" | "west" | "down";
        position?: {
            x?: number;
            y?: number;
            z?: number;
        };
        canConnectTo?: string[];
    }[];
    maxCount?: number;
    spawns?: {
        entity?: string;
        count?: number | {
            max?: number;
            min?: number;
        };
        position?: {
            x?: number;
            y?: number;
            z?: number;
        };
        spread?: number;
    }[];
    loot?: {
        position?: {
            x?: number;
            y?: number;
            z?: number;
        };
        lootTable?: string;
        containerType?: "chest" | "barrel" | "spawner";
    }[];
}, {
    blocks?: {
        size?: {
            x?: number;
            y?: number;
            z?: number;
        };
        key?: Record<string, {
            properties?: Record<string, string | number | boolean>;
            typeId?: string;
        }>;
        southWestBottom?: {
            x?: number;
            y?: number;
            z?: number;
        };
        blockLayersBottomToTop?: string[][];
    };
    weight?: number;
    id?: string;
    structureFile?: string;
    connections?: {
        name?: string;
        required?: boolean;
        direction?: "up" | "north" | "south" | "east" | "west" | "down";
        position?: {
            x?: number;
            y?: number;
            z?: number;
        };
        canConnectTo?: string[];
    }[];
    maxCount?: number;
    spawns?: {
        entity?: string;
        count?: number | {
            max?: number;
            min?: number;
        };
        position?: {
            x?: number;
            y?: number;
            z?: number;
        };
        spread?: number;
    }[];
    loot?: {
        position?: {
            x?: number;
            y?: number;
            z?: number;
        };
        lootTable?: string;
        containerType?: "chest" | "barrel" | "spawner";
    }[];
}>;
/**
 * Jigsaw definition.
 */
export declare const JigsawDefinitionSchema: z.ZodObject<{
    pieces: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        structureFile: z.ZodOptional<z.ZodString>;
        blocks: z.ZodOptional<z.ZodObject<{
            southWestBottom: z.ZodObject<{
                x: z.ZodNumber;
                y: z.ZodNumber;
                z: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                x?: number;
                y?: number;
                z?: number;
            }, {
                x?: number;
                y?: number;
                z?: number;
            }>;
            size: z.ZodOptional<z.ZodObject<{
                x: z.ZodNumber;
                y: z.ZodNumber;
                z: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                x?: number;
                y?: number;
                z?: number;
            }, {
                x?: number;
                y?: number;
                z?: number;
            }>>;
            blockLayersBottomToTop: z.ZodArray<z.ZodArray<z.ZodString, "many">, "many">;
            key: z.ZodRecord<z.ZodString, z.ZodObject<{
                typeId: z.ZodString;
                properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
            }, "strip", z.ZodTypeAny, {
                properties?: Record<string, string | number | boolean>;
                typeId?: string;
            }, {
                properties?: Record<string, string | number | boolean>;
                typeId?: string;
            }>>;
        }, "strip", z.ZodTypeAny, {
            size?: {
                x?: number;
                y?: number;
                z?: number;
            };
            key?: Record<string, {
                properties?: Record<string, string | number | boolean>;
                typeId?: string;
            }>;
            southWestBottom?: {
                x?: number;
                y?: number;
                z?: number;
            };
            blockLayersBottomToTop?: string[][];
        }, {
            size?: {
                x?: number;
                y?: number;
                z?: number;
            };
            key?: Record<string, {
                properties?: Record<string, string | number | boolean>;
                typeId?: string;
            }>;
            southWestBottom?: {
                x?: number;
                y?: number;
                z?: number;
            };
            blockLayersBottomToTop?: string[][];
        }>>;
        connections: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            position: z.ZodObject<{
                x: z.ZodNumber;
                y: z.ZodNumber;
                z: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                x?: number;
                y?: number;
                z?: number;
            }, {
                x?: number;
                y?: number;
                z?: number;
            }>;
            direction: z.ZodEnum<["up", "down", "north", "south", "east", "west"]>;
            canConnectTo: z.ZodArray<z.ZodString, "many">;
            required: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            name?: string;
            required?: boolean;
            direction?: "up" | "north" | "south" | "east" | "west" | "down";
            position?: {
                x?: number;
                y?: number;
                z?: number;
            };
            canConnectTo?: string[];
        }, {
            name?: string;
            required?: boolean;
            direction?: "up" | "north" | "south" | "east" | "west" | "down";
            position?: {
                x?: number;
                y?: number;
                z?: number;
            };
            canConnectTo?: string[];
        }>, "many">;
        weight: z.ZodOptional<z.ZodNumber>;
        maxCount: z.ZodOptional<z.ZodNumber>;
        spawns: z.ZodOptional<z.ZodArray<z.ZodObject<{
            entity: z.ZodString;
            count: z.ZodUnion<[z.ZodNumber, z.ZodObject<{
                min: z.ZodNumber;
                max: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                max?: number;
                min?: number;
            }, {
                max?: number;
                min?: number;
            }>]>;
            position: z.ZodOptional<z.ZodObject<{
                x: z.ZodNumber;
                y: z.ZodNumber;
                z: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                x?: number;
                y?: number;
                z?: number;
            }, {
                x?: number;
                y?: number;
                z?: number;
            }>>;
            spread: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            entity?: string;
            count?: number | {
                max?: number;
                min?: number;
            };
            position?: {
                x?: number;
                y?: number;
                z?: number;
            };
            spread?: number;
        }, {
            entity?: string;
            count?: number | {
                max?: number;
                min?: number;
            };
            position?: {
                x?: number;
                y?: number;
                z?: number;
            };
            spread?: number;
        }>, "many">>;
        loot: z.ZodOptional<z.ZodArray<z.ZodObject<{
            lootTable: z.ZodString;
            position: z.ZodObject<{
                x: z.ZodNumber;
                y: z.ZodNumber;
                z: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                x?: number;
                y?: number;
                z?: number;
            }, {
                x?: number;
                y?: number;
                z?: number;
            }>;
            containerType: z.ZodOptional<z.ZodEnum<["chest", "barrel", "spawner"]>>;
        }, "strip", z.ZodTypeAny, {
            position?: {
                x?: number;
                y?: number;
                z?: number;
            };
            lootTable?: string;
            containerType?: "chest" | "barrel" | "spawner";
        }, {
            position?: {
                x?: number;
                y?: number;
                z?: number;
            };
            lootTable?: string;
            containerType?: "chest" | "barrel" | "spawner";
        }>, "many">>;
    }, "strip", z.ZodTypeAny, {
        blocks?: {
            size?: {
                x?: number;
                y?: number;
                z?: number;
            };
            key?: Record<string, {
                properties?: Record<string, string | number | boolean>;
                typeId?: string;
            }>;
            southWestBottom?: {
                x?: number;
                y?: number;
                z?: number;
            };
            blockLayersBottomToTop?: string[][];
        };
        weight?: number;
        id?: string;
        structureFile?: string;
        connections?: {
            name?: string;
            required?: boolean;
            direction?: "up" | "north" | "south" | "east" | "west" | "down";
            position?: {
                x?: number;
                y?: number;
                z?: number;
            };
            canConnectTo?: string[];
        }[];
        maxCount?: number;
        spawns?: {
            entity?: string;
            count?: number | {
                max?: number;
                min?: number;
            };
            position?: {
                x?: number;
                y?: number;
                z?: number;
            };
            spread?: number;
        }[];
        loot?: {
            position?: {
                x?: number;
                y?: number;
                z?: number;
            };
            lootTable?: string;
            containerType?: "chest" | "barrel" | "spawner";
        }[];
    }, {
        blocks?: {
            size?: {
                x?: number;
                y?: number;
                z?: number;
            };
            key?: Record<string, {
                properties?: Record<string, string | number | boolean>;
                typeId?: string;
            }>;
            southWestBottom?: {
                x?: number;
                y?: number;
                z?: number;
            };
            blockLayersBottomToTop?: string[][];
        };
        weight?: number;
        id?: string;
        structureFile?: string;
        connections?: {
            name?: string;
            required?: boolean;
            direction?: "up" | "north" | "south" | "east" | "west" | "down";
            position?: {
                x?: number;
                y?: number;
                z?: number;
            };
            canConnectTo?: string[];
        }[];
        maxCount?: number;
        spawns?: {
            entity?: string;
            count?: number | {
                max?: number;
                min?: number;
            };
            position?: {
                x?: number;
                y?: number;
                z?: number;
            };
            spread?: number;
        }[];
        loot?: {
            position?: {
                x?: number;
                y?: number;
                z?: number;
            };
            lootTable?: string;
            containerType?: "chest" | "barrel" | "spawner";
        }[];
    }>, "many">;
    startPiece: z.ZodString;
    maxDepth: z.ZodOptional<z.ZodNumber>;
    maxSize: z.ZodOptional<z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
        z: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        x?: number;
        y?: number;
        z?: number;
    }, {
        x?: number;
        y?: number;
        z?: number;
    }>>;
}, "strip", z.ZodTypeAny, {
    pieces?: {
        blocks?: {
            size?: {
                x?: number;
                y?: number;
                z?: number;
            };
            key?: Record<string, {
                properties?: Record<string, string | number | boolean>;
                typeId?: string;
            }>;
            southWestBottom?: {
                x?: number;
                y?: number;
                z?: number;
            };
            blockLayersBottomToTop?: string[][];
        };
        weight?: number;
        id?: string;
        structureFile?: string;
        connections?: {
            name?: string;
            required?: boolean;
            direction?: "up" | "north" | "south" | "east" | "west" | "down";
            position?: {
                x?: number;
                y?: number;
                z?: number;
            };
            canConnectTo?: string[];
        }[];
        maxCount?: number;
        spawns?: {
            entity?: string;
            count?: number | {
                max?: number;
                min?: number;
            };
            position?: {
                x?: number;
                y?: number;
                z?: number;
            };
            spread?: number;
        }[];
        loot?: {
            position?: {
                x?: number;
                y?: number;
                z?: number;
            };
            lootTable?: string;
            containerType?: "chest" | "barrel" | "spawner";
        }[];
    }[];
    startPiece?: string;
    maxDepth?: number;
    maxSize?: {
        x?: number;
        y?: number;
        z?: number;
    };
}, {
    pieces?: {
        blocks?: {
            size?: {
                x?: number;
                y?: number;
                z?: number;
            };
            key?: Record<string, {
                properties?: Record<string, string | number | boolean>;
                typeId?: string;
            }>;
            southWestBottom?: {
                x?: number;
                y?: number;
                z?: number;
            };
            blockLayersBottomToTop?: string[][];
        };
        weight?: number;
        id?: string;
        structureFile?: string;
        connections?: {
            name?: string;
            required?: boolean;
            direction?: "up" | "north" | "south" | "east" | "west" | "down";
            position?: {
                x?: number;
                y?: number;
                z?: number;
            };
            canConnectTo?: string[];
        }[];
        maxCount?: number;
        spawns?: {
            entity?: string;
            count?: number | {
                max?: number;
                min?: number;
            };
            position?: {
                x?: number;
                y?: number;
                z?: number;
            };
            spread?: number;
        }[];
        loot?: {
            position?: {
                x?: number;
                y?: number;
                z?: number;
            };
            lootTable?: string;
            containerType?: "chest" | "barrel" | "spawner";
        }[];
    }[];
    startPiece?: string;
    maxDepth?: number;
    maxSize?: {
        x?: number;
        y?: number;
        z?: number;
    };
}>;
/**
 * Structure generation.
 */
export declare const StructureGenerationSchema: z.ZodObject<{
    biomes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    heightRange: z.ZodOptional<z.ZodObject<{
        min: z.ZodNumber;
        max: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        max?: number;
        min?: number;
    }, {
        max?: number;
        min?: number;
    }>>;
    rarity: z.ZodOptional<z.ZodNumber>;
    terrainAdaptation: z.ZodOptional<z.ZodEnum<["none", "bury", "beard_thin", "beard_box"]>>;
    underground: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    biomes?: string[];
    heightRange?: {
        max?: number;
        min?: number;
    };
    rarity?: number;
    terrainAdaptation?: "none" | "bury" | "beard_thin" | "beard_box";
    underground?: boolean;
}, {
    biomes?: string[];
    heightRange?: {
        max?: number;
        min?: number;
    };
    rarity?: number;
    terrainAdaptation?: "none" | "bury" | "beard_thin" | "beard_box";
    underground?: boolean;
}>;
/**
 * Structure definition.
 */
export declare const StructureSchema: z.ZodObject<{
    id: z.ZodString;
    displayName: z.ZodOptional<z.ZodString>;
    type: z.ZodEnum<["simple", "jigsaw"]>;
    structureFile: z.ZodOptional<z.ZodString>;
    blocks: z.ZodOptional<z.ZodObject<{
        southWestBottom: z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x?: number;
            y?: number;
            z?: number;
        }, {
            x?: number;
            y?: number;
            z?: number;
        }>;
        size: z.ZodOptional<z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x?: number;
            y?: number;
            z?: number;
        }, {
            x?: number;
            y?: number;
            z?: number;
        }>>;
        blockLayersBottomToTop: z.ZodArray<z.ZodArray<z.ZodString, "many">, "many">;
        key: z.ZodRecord<z.ZodString, z.ZodObject<{
            typeId: z.ZodString;
            properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
        }, "strip", z.ZodTypeAny, {
            properties?: Record<string, string | number | boolean>;
            typeId?: string;
        }, {
            properties?: Record<string, string | number | boolean>;
            typeId?: string;
        }>>;
    }, "strip", z.ZodTypeAny, {
        size?: {
            x?: number;
            y?: number;
            z?: number;
        };
        key?: Record<string, {
            properties?: Record<string, string | number | boolean>;
            typeId?: string;
        }>;
        southWestBottom?: {
            x?: number;
            y?: number;
            z?: number;
        };
        blockLayersBottomToTop?: string[][];
    }, {
        size?: {
            x?: number;
            y?: number;
            z?: number;
        };
        key?: Record<string, {
            properties?: Record<string, string | number | boolean>;
            typeId?: string;
        }>;
        southWestBottom?: {
            x?: number;
            y?: number;
            z?: number;
        };
        blockLayersBottomToTop?: string[][];
    }>>;
    jigsaw: z.ZodOptional<z.ZodObject<{
        pieces: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            structureFile: z.ZodOptional<z.ZodString>;
            blocks: z.ZodOptional<z.ZodObject<{
                southWestBottom: z.ZodObject<{
                    x: z.ZodNumber;
                    y: z.ZodNumber;
                    z: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    x?: number;
                    y?: number;
                    z?: number;
                }, {
                    x?: number;
                    y?: number;
                    z?: number;
                }>;
                size: z.ZodOptional<z.ZodObject<{
                    x: z.ZodNumber;
                    y: z.ZodNumber;
                    z: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    x?: number;
                    y?: number;
                    z?: number;
                }, {
                    x?: number;
                    y?: number;
                    z?: number;
                }>>;
                blockLayersBottomToTop: z.ZodArray<z.ZodArray<z.ZodString, "many">, "many">;
                key: z.ZodRecord<z.ZodString, z.ZodObject<{
                    typeId: z.ZodString;
                    properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
                }, "strip", z.ZodTypeAny, {
                    properties?: Record<string, string | number | boolean>;
                    typeId?: string;
                }, {
                    properties?: Record<string, string | number | boolean>;
                    typeId?: string;
                }>>;
            }, "strip", z.ZodTypeAny, {
                size?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                key?: Record<string, {
                    properties?: Record<string, string | number | boolean>;
                    typeId?: string;
                }>;
                southWestBottom?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                blockLayersBottomToTop?: string[][];
            }, {
                size?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                key?: Record<string, {
                    properties?: Record<string, string | number | boolean>;
                    typeId?: string;
                }>;
                southWestBottom?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                blockLayersBottomToTop?: string[][];
            }>>;
            connections: z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                position: z.ZodObject<{
                    x: z.ZodNumber;
                    y: z.ZodNumber;
                    z: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    x?: number;
                    y?: number;
                    z?: number;
                }, {
                    x?: number;
                    y?: number;
                    z?: number;
                }>;
                direction: z.ZodEnum<["up", "down", "north", "south", "east", "west"]>;
                canConnectTo: z.ZodArray<z.ZodString, "many">;
                required: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                name?: string;
                required?: boolean;
                direction?: "up" | "north" | "south" | "east" | "west" | "down";
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                canConnectTo?: string[];
            }, {
                name?: string;
                required?: boolean;
                direction?: "up" | "north" | "south" | "east" | "west" | "down";
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                canConnectTo?: string[];
            }>, "many">;
            weight: z.ZodOptional<z.ZodNumber>;
            maxCount: z.ZodOptional<z.ZodNumber>;
            spawns: z.ZodOptional<z.ZodArray<z.ZodObject<{
                entity: z.ZodString;
                count: z.ZodUnion<[z.ZodNumber, z.ZodObject<{
                    min: z.ZodNumber;
                    max: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    max?: number;
                    min?: number;
                }, {
                    max?: number;
                    min?: number;
                }>]>;
                position: z.ZodOptional<z.ZodObject<{
                    x: z.ZodNumber;
                    y: z.ZodNumber;
                    z: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    x?: number;
                    y?: number;
                    z?: number;
                }, {
                    x?: number;
                    y?: number;
                    z?: number;
                }>>;
                spread: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                entity?: string;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                spread?: number;
            }, {
                entity?: string;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                spread?: number;
            }>, "many">>;
            loot: z.ZodOptional<z.ZodArray<z.ZodObject<{
                lootTable: z.ZodString;
                position: z.ZodObject<{
                    x: z.ZodNumber;
                    y: z.ZodNumber;
                    z: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    x?: number;
                    y?: number;
                    z?: number;
                }, {
                    x?: number;
                    y?: number;
                    z?: number;
                }>;
                containerType: z.ZodOptional<z.ZodEnum<["chest", "barrel", "spawner"]>>;
            }, "strip", z.ZodTypeAny, {
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                lootTable?: string;
                containerType?: "chest" | "barrel" | "spawner";
            }, {
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                lootTable?: string;
                containerType?: "chest" | "barrel" | "spawner";
            }>, "many">>;
        }, "strip", z.ZodTypeAny, {
            blocks?: {
                size?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                key?: Record<string, {
                    properties?: Record<string, string | number | boolean>;
                    typeId?: string;
                }>;
                southWestBottom?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                blockLayersBottomToTop?: string[][];
            };
            weight?: number;
            id?: string;
            structureFile?: string;
            connections?: {
                name?: string;
                required?: boolean;
                direction?: "up" | "north" | "south" | "east" | "west" | "down";
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                canConnectTo?: string[];
            }[];
            maxCount?: number;
            spawns?: {
                entity?: string;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                spread?: number;
            }[];
            loot?: {
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                lootTable?: string;
                containerType?: "chest" | "barrel" | "spawner";
            }[];
        }, {
            blocks?: {
                size?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                key?: Record<string, {
                    properties?: Record<string, string | number | boolean>;
                    typeId?: string;
                }>;
                southWestBottom?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                blockLayersBottomToTop?: string[][];
            };
            weight?: number;
            id?: string;
            structureFile?: string;
            connections?: {
                name?: string;
                required?: boolean;
                direction?: "up" | "north" | "south" | "east" | "west" | "down";
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                canConnectTo?: string[];
            }[];
            maxCount?: number;
            spawns?: {
                entity?: string;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                spread?: number;
            }[];
            loot?: {
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                lootTable?: string;
                containerType?: "chest" | "barrel" | "spawner";
            }[];
        }>, "many">;
        startPiece: z.ZodString;
        maxDepth: z.ZodOptional<z.ZodNumber>;
        maxSize: z.ZodOptional<z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x?: number;
            y?: number;
            z?: number;
        }, {
            x?: number;
            y?: number;
            z?: number;
        }>>;
    }, "strip", z.ZodTypeAny, {
        pieces?: {
            blocks?: {
                size?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                key?: Record<string, {
                    properties?: Record<string, string | number | boolean>;
                    typeId?: string;
                }>;
                southWestBottom?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                blockLayersBottomToTop?: string[][];
            };
            weight?: number;
            id?: string;
            structureFile?: string;
            connections?: {
                name?: string;
                required?: boolean;
                direction?: "up" | "north" | "south" | "east" | "west" | "down";
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                canConnectTo?: string[];
            }[];
            maxCount?: number;
            spawns?: {
                entity?: string;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                spread?: number;
            }[];
            loot?: {
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                lootTable?: string;
                containerType?: "chest" | "barrel" | "spawner";
            }[];
        }[];
        startPiece?: string;
        maxDepth?: number;
        maxSize?: {
            x?: number;
            y?: number;
            z?: number;
        };
    }, {
        pieces?: {
            blocks?: {
                size?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                key?: Record<string, {
                    properties?: Record<string, string | number | boolean>;
                    typeId?: string;
                }>;
                southWestBottom?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                blockLayersBottomToTop?: string[][];
            };
            weight?: number;
            id?: string;
            structureFile?: string;
            connections?: {
                name?: string;
                required?: boolean;
                direction?: "up" | "north" | "south" | "east" | "west" | "down";
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                canConnectTo?: string[];
            }[];
            maxCount?: number;
            spawns?: {
                entity?: string;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                spread?: number;
            }[];
            loot?: {
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                lootTable?: string;
                containerType?: "chest" | "barrel" | "spawner";
            }[];
        }[];
        startPiece?: string;
        maxDepth?: number;
        maxSize?: {
            x?: number;
            y?: number;
            z?: number;
        };
    }>>;
    generation: z.ZodOptional<z.ZodObject<{
        biomes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        heightRange: z.ZodOptional<z.ZodObject<{
            min: z.ZodNumber;
            max: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            max?: number;
            min?: number;
        }, {
            max?: number;
            min?: number;
        }>>;
        rarity: z.ZodOptional<z.ZodNumber>;
        terrainAdaptation: z.ZodOptional<z.ZodEnum<["none", "bury", "beard_thin", "beard_box"]>>;
        underground: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        biomes?: string[];
        heightRange?: {
            max?: number;
            min?: number;
        };
        rarity?: number;
        terrainAdaptation?: "none" | "bury" | "beard_thin" | "beard_box";
        underground?: boolean;
    }, {
        biomes?: string[];
        heightRange?: {
            max?: number;
            min?: number;
        };
        rarity?: number;
        terrainAdaptation?: "none" | "bury" | "beard_thin" | "beard_box";
        underground?: boolean;
    }>>;
}, "strip", z.ZodTypeAny, {
    blocks?: {
        size?: {
            x?: number;
            y?: number;
            z?: number;
        };
        key?: Record<string, {
            properties?: Record<string, string | number | boolean>;
            typeId?: string;
        }>;
        southWestBottom?: {
            x?: number;
            y?: number;
            z?: number;
        };
        blockLayersBottomToTop?: string[][];
    };
    type?: "simple" | "jigsaw";
    id?: string;
    displayName?: string;
    structureFile?: string;
    jigsaw?: {
        pieces?: {
            blocks?: {
                size?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                key?: Record<string, {
                    properties?: Record<string, string | number | boolean>;
                    typeId?: string;
                }>;
                southWestBottom?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                blockLayersBottomToTop?: string[][];
            };
            weight?: number;
            id?: string;
            structureFile?: string;
            connections?: {
                name?: string;
                required?: boolean;
                direction?: "up" | "north" | "south" | "east" | "west" | "down";
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                canConnectTo?: string[];
            }[];
            maxCount?: number;
            spawns?: {
                entity?: string;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                spread?: number;
            }[];
            loot?: {
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                lootTable?: string;
                containerType?: "chest" | "barrel" | "spawner";
            }[];
        }[];
        startPiece?: string;
        maxDepth?: number;
        maxSize?: {
            x?: number;
            y?: number;
            z?: number;
        };
    };
    generation?: {
        biomes?: string[];
        heightRange?: {
            max?: number;
            min?: number;
        };
        rarity?: number;
        terrainAdaptation?: "none" | "bury" | "beard_thin" | "beard_box";
        underground?: boolean;
    };
}, {
    blocks?: {
        size?: {
            x?: number;
            y?: number;
            z?: number;
        };
        key?: Record<string, {
            properties?: Record<string, string | number | boolean>;
            typeId?: string;
        }>;
        southWestBottom?: {
            x?: number;
            y?: number;
            z?: number;
        };
        blockLayersBottomToTop?: string[][];
    };
    type?: "simple" | "jigsaw";
    id?: string;
    displayName?: string;
    structureFile?: string;
    jigsaw?: {
        pieces?: {
            blocks?: {
                size?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                key?: Record<string, {
                    properties?: Record<string, string | number | boolean>;
                    typeId?: string;
                }>;
                southWestBottom?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                blockLayersBottomToTop?: string[][];
            };
            weight?: number;
            id?: string;
            structureFile?: string;
            connections?: {
                name?: string;
                required?: boolean;
                direction?: "up" | "north" | "south" | "east" | "west" | "down";
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                canConnectTo?: string[];
            }[];
            maxCount?: number;
            spawns?: {
                entity?: string;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                spread?: number;
            }[];
            loot?: {
                position?: {
                    x?: number;
                    y?: number;
                    z?: number;
                };
                lootTable?: string;
                containerType?: "chest" | "barrel" | "spawner";
            }[];
        }[];
        startPiece?: string;
        maxDepth?: number;
        maxSize?: {
            x?: number;
            y?: number;
            z?: number;
        };
    };
    generation?: {
        biomes?: string[];
        heightRange?: {
            max?: number;
            min?: number;
        };
        rarity?: number;
        terrainAdaptation?: "none" | "bury" | "beard_thin" | "beard_box";
        underground?: boolean;
    };
}>;
/**
 * Feature placement.
 */
export declare const FeaturePlacementSchema: z.ZodObject<{
    type: z.ZodEnum<["block", "structure", "tree", "ore", "vegetation"]>;
    id: z.ZodString;
    count: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
        min: z.ZodNumber;
        max: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        max?: number;
        min?: number;
    }, {
        max?: number;
        min?: number;
    }>]>>;
    replacesBlocks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    type?: "structure" | "tree" | "block" | "ore" | "vegetation";
    id?: string;
    count?: number | {
        max?: number;
        min?: number;
    };
    replacesBlocks?: string[];
}, {
    type?: "structure" | "tree" | "block" | "ore" | "vegetation";
    id?: string;
    count?: number | {
        max?: number;
        min?: number;
    };
    replacesBlocks?: string[];
}>;
/**
 * Height placement.
 */
export declare const HeightPlacementSchema: z.ZodObject<{
    type: z.ZodEnum<["surface", "underground", "fixed", "range"]>;
    y: z.ZodOptional<z.ZodNumber>;
    min: z.ZodOptional<z.ZodNumber>;
    max: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    type?: "fixed" | "surface" | "underground" | "range";
    y?: number;
    max?: number;
    min?: number;
}, {
    type?: "fixed" | "surface" | "underground" | "range";
    y?: number;
    max?: number;
    min?: number;
}>;
/**
 * Scatter pattern.
 */
export declare const ScatterPatternSchema: z.ZodObject<{
    type: z.ZodEnum<["uniform", "cluster", "line"]>;
    radius: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    type?: "line" | "uniform" | "cluster";
    radius?: number;
}, {
    type?: "line" | "uniform" | "cluster";
    radius?: number;
}>;
/**
 * Feature spread - simplified feature hierarchy.
 */
export declare const FeatureSpreadSchema: z.ZodObject<{
    places: z.ZodArray<z.ZodObject<{
        type: z.ZodEnum<["block", "structure", "tree", "ore", "vegetation"]>;
        id: z.ZodString;
        count: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
            min: z.ZodNumber;
            max: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            max?: number;
            min?: number;
        }, {
            max?: number;
            min?: number;
        }>]>>;
        replacesBlocks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        type?: "structure" | "tree" | "block" | "ore" | "vegetation";
        id?: string;
        count?: number | {
            max?: number;
            min?: number;
        };
        replacesBlocks?: string[];
    }, {
        type?: "structure" | "tree" | "block" | "ore" | "vegetation";
        id?: string;
        count?: number | {
            max?: number;
            min?: number;
        };
        replacesBlocks?: string[];
    }>, "many">;
    count: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
        min: z.ZodNumber;
        max: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        max?: number;
        min?: number;
    }, {
        max?: number;
        min?: number;
    }>]>>;
    heightPlacement: z.ZodOptional<z.ZodObject<{
        type: z.ZodEnum<["surface", "underground", "fixed", "range"]>;
        y: z.ZodOptional<z.ZodNumber>;
        min: z.ZodOptional<z.ZodNumber>;
        max: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        type?: "fixed" | "surface" | "underground" | "range";
        y?: number;
        max?: number;
        min?: number;
    }, {
        type?: "fixed" | "surface" | "underground" | "range";
        y?: number;
        max?: number;
        min?: number;
    }>>;
    scatter: z.ZodOptional<z.ZodObject<{
        type: z.ZodEnum<["uniform", "cluster", "line"]>;
        radius: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        type?: "line" | "uniform" | "cluster";
        radius?: number;
    }, {
        type?: "line" | "uniform" | "cluster";
        radius?: number;
    }>>;
    biomes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    rarity: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    count?: number | {
        max?: number;
        min?: number;
    };
    biomes?: string[];
    rarity?: number;
    places?: {
        type?: "structure" | "tree" | "block" | "ore" | "vegetation";
        id?: string;
        count?: number | {
            max?: number;
            min?: number;
        };
        replacesBlocks?: string[];
    }[];
    heightPlacement?: {
        type?: "fixed" | "surface" | "underground" | "range";
        y?: number;
        max?: number;
        min?: number;
    };
    scatter?: {
        type?: "line" | "uniform" | "cluster";
        radius?: number;
    };
}, {
    count?: number | {
        max?: number;
        min?: number;
    };
    biomes?: string[];
    rarity?: number;
    places?: {
        type?: "structure" | "tree" | "block" | "ore" | "vegetation";
        id?: string;
        count?: number | {
            max?: number;
            min?: number;
        };
        replacesBlocks?: string[];
    }[];
    heightPlacement?: {
        type?: "fixed" | "surface" | "underground" | "range";
        y?: number;
        max?: number;
        min?: number;
    };
    scatter?: {
        type?: "line" | "uniform" | "cluster";
        radius?: number;
    };
}>;
/**
 * Feature definition.
 */
export declare const FeatureSchema: z.ZodObject<{
    id: z.ZodString;
    displayName: z.ZodOptional<z.ZodString>;
    spread: z.ZodOptional<z.ZodObject<{
        places: z.ZodArray<z.ZodObject<{
            type: z.ZodEnum<["block", "structure", "tree", "ore", "vegetation"]>;
            id: z.ZodString;
            count: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
                min: z.ZodNumber;
                max: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                max?: number;
                min?: number;
            }, {
                max?: number;
                min?: number;
            }>]>>;
            replacesBlocks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        }, "strip", z.ZodTypeAny, {
            type?: "structure" | "tree" | "block" | "ore" | "vegetation";
            id?: string;
            count?: number | {
                max?: number;
                min?: number;
            };
            replacesBlocks?: string[];
        }, {
            type?: "structure" | "tree" | "block" | "ore" | "vegetation";
            id?: string;
            count?: number | {
                max?: number;
                min?: number;
            };
            replacesBlocks?: string[];
        }>, "many">;
        count: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
            min: z.ZodNumber;
            max: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            max?: number;
            min?: number;
        }, {
            max?: number;
            min?: number;
        }>]>>;
        heightPlacement: z.ZodOptional<z.ZodObject<{
            type: z.ZodEnum<["surface", "underground", "fixed", "range"]>;
            y: z.ZodOptional<z.ZodNumber>;
            min: z.ZodOptional<z.ZodNumber>;
            max: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type?: "fixed" | "surface" | "underground" | "range";
            y?: number;
            max?: number;
            min?: number;
        }, {
            type?: "fixed" | "surface" | "underground" | "range";
            y?: number;
            max?: number;
            min?: number;
        }>>;
        scatter: z.ZodOptional<z.ZodObject<{
            type: z.ZodEnum<["uniform", "cluster", "line"]>;
            radius: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type?: "line" | "uniform" | "cluster";
            radius?: number;
        }, {
            type?: "line" | "uniform" | "cluster";
            radius?: number;
        }>>;
        biomes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        rarity: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        count?: number | {
            max?: number;
            min?: number;
        };
        biomes?: string[];
        rarity?: number;
        places?: {
            type?: "structure" | "tree" | "block" | "ore" | "vegetation";
            id?: string;
            count?: number | {
                max?: number;
                min?: number;
            };
            replacesBlocks?: string[];
        }[];
        heightPlacement?: {
            type?: "fixed" | "surface" | "underground" | "range";
            y?: number;
            max?: number;
            min?: number;
        };
        scatter?: {
            type?: "line" | "uniform" | "cluster";
            radius?: number;
        };
    }, {
        count?: number | {
            max?: number;
            min?: number;
        };
        biomes?: string[];
        rarity?: number;
        places?: {
            type?: "structure" | "tree" | "block" | "ore" | "vegetation";
            id?: string;
            count?: number | {
                max?: number;
                min?: number;
            };
            replacesBlocks?: string[];
        }[];
        heightPlacement?: {
            type?: "fixed" | "surface" | "underground" | "range";
            y?: number;
            max?: number;
            min?: number;
        };
        scatter?: {
            type?: "line" | "uniform" | "cluster";
            radius?: number;
        };
    }>>;
    nativeFeature: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
    nativeFeatureRule: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
}, "strip", z.ZodTypeAny, {
    id?: string;
    displayName?: string;
    spread?: {
        count?: number | {
            max?: number;
            min?: number;
        };
        biomes?: string[];
        rarity?: number;
        places?: {
            type?: "structure" | "tree" | "block" | "ore" | "vegetation";
            id?: string;
            count?: number | {
                max?: number;
                min?: number;
            };
            replacesBlocks?: string[];
        }[];
        heightPlacement?: {
            type?: "fixed" | "surface" | "underground" | "range";
            y?: number;
            max?: number;
            min?: number;
        };
        scatter?: {
            type?: "line" | "uniform" | "cluster";
            radius?: number;
        };
    };
    nativeFeature?: Record<string, any>;
    nativeFeatureRule?: Record<string, any>;
}, {
    id?: string;
    displayName?: string;
    spread?: {
        count?: number | {
            max?: number;
            min?: number;
        };
        biomes?: string[];
        rarity?: number;
        places?: {
            type?: "structure" | "tree" | "block" | "ore" | "vegetation";
            id?: string;
            count?: number | {
                max?: number;
                min?: number;
            };
            replacesBlocks?: string[];
        }[];
        heightPlacement?: {
            type?: "fixed" | "surface" | "underground" | "range";
            y?: number;
            max?: number;
            min?: number;
        };
        scatter?: {
            type?: "line" | "uniform" | "cluster";
            radius?: number;
        };
    };
    nativeFeature?: Record<string, any>;
    nativeFeatureRule?: Record<string, any>;
}>;
/**
 * Loot entry.
 */
export declare const LootEntrySchema: z.ZodObject<{
    item: z.ZodString;
    weight: z.ZodOptional<z.ZodNumber>;
    count: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
        min: z.ZodNumber;
        max: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        max?: number;
        min?: number;
    }, {
        max?: number;
        min?: number;
    }>]>>;
    chance: z.ZodOptional<z.ZodNumber>;
    killedByPlayer: z.ZodOptional<z.ZodBoolean>;
    lootingBonus: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    weight?: number;
    count?: number | {
        max?: number;
        min?: number;
    };
    item?: string;
    chance?: number;
    killedByPlayer?: boolean;
    lootingBonus?: number;
}, {
    weight?: number;
    count?: number | {
        max?: number;
        min?: number;
    };
    item?: string;
    chance?: number;
    killedByPlayer?: boolean;
    lootingBonus?: number;
}>;
/**
 * Loot condition.
 *
 * Conditions gate when a loot pool is rolled; all conditions in a pool's `conditions`
 * array must be true (logical AND). Use multiple pools if you need OR semantics.
 */
export declare const LootConditionSchema: z.ZodUnion<[z.ZodObject<{
    type: z.ZodLiteral<"killed_by_player">;
}, "strip", z.ZodTypeAny, {
    type?: "killed_by_player";
}, {
    type?: "killed_by_player";
}>, z.ZodObject<{
    type: z.ZodLiteral<"random_chance">;
    chance: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    type?: "random_chance";
    chance?: number;
}, {
    type?: "random_chance";
    chance?: number;
}>, z.ZodObject<{
    type: z.ZodLiteral<"looting_enchant">;
    multiplier: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    type?: "looting_enchant";
    multiplier?: number;
}, {
    type?: "looting_enchant";
    multiplier?: number;
}>]>;
/**
 * Loot pool.
 */
export declare const LootPoolSchema: z.ZodObject<{
    rolls: z.ZodUnion<[z.ZodNumber, z.ZodObject<{
        min: z.ZodNumber;
        max: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        max?: number;
        min?: number;
    }, {
        max?: number;
        min?: number;
    }>]>;
    entries: z.ZodArray<z.ZodObject<{
        item: z.ZodString;
        weight: z.ZodOptional<z.ZodNumber>;
        count: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
            min: z.ZodNumber;
            max: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            max?: number;
            min?: number;
        }, {
            max?: number;
            min?: number;
        }>]>>;
        chance: z.ZodOptional<z.ZodNumber>;
        killedByPlayer: z.ZodOptional<z.ZodBoolean>;
        lootingBonus: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        weight?: number;
        count?: number | {
            max?: number;
            min?: number;
        };
        item?: string;
        chance?: number;
        killedByPlayer?: boolean;
        lootingBonus?: number;
    }, {
        weight?: number;
        count?: number | {
            max?: number;
            min?: number;
        };
        item?: string;
        chance?: number;
        killedByPlayer?: boolean;
        lootingBonus?: number;
    }>, "many">;
    conditions: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
        type: z.ZodLiteral<"killed_by_player">;
    }, "strip", z.ZodTypeAny, {
        type?: "killed_by_player";
    }, {
        type?: "killed_by_player";
    }>, z.ZodObject<{
        type: z.ZodLiteral<"random_chance">;
        chance: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        type?: "random_chance";
        chance?: number;
    }, {
        type?: "random_chance";
        chance?: number;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"looting_enchant">;
        multiplier: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        type?: "looting_enchant";
        multiplier?: number;
    }, {
        type?: "looting_enchant";
        multiplier?: number;
    }>]>, "many">>;
}, "strip", z.ZodTypeAny, {
    entries?: {
        weight?: number;
        count?: number | {
            max?: number;
            min?: number;
        };
        item?: string;
        chance?: number;
        killedByPlayer?: boolean;
        lootingBonus?: number;
    }[];
    conditions?: ({
        type?: "killed_by_player";
    } | {
        type?: "random_chance";
        chance?: number;
    } | {
        type?: "looting_enchant";
        multiplier?: number;
    })[];
    rolls?: number | {
        max?: number;
        min?: number;
    };
}, {
    entries?: {
        weight?: number;
        count?: number | {
            max?: number;
            min?: number;
        };
        item?: string;
        chance?: number;
        killedByPlayer?: boolean;
        lootingBonus?: number;
    }[];
    conditions?: ({
        type?: "killed_by_player";
    } | {
        type?: "random_chance";
        chance?: number;
    } | {
        type?: "looting_enchant";
        multiplier?: number;
    })[];
    rolls?: number | {
        max?: number;
        min?: number;
    };
}>;
/**
 * Loot table definition.
 */
export declare const LootTableSchema: z.ZodObject<{
    id: z.ZodString;
    pools: z.ZodArray<z.ZodObject<{
        rolls: z.ZodUnion<[z.ZodNumber, z.ZodObject<{
            min: z.ZodNumber;
            max: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            max?: number;
            min?: number;
        }, {
            max?: number;
            min?: number;
        }>]>;
        entries: z.ZodArray<z.ZodObject<{
            item: z.ZodString;
            weight: z.ZodOptional<z.ZodNumber>;
            count: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
                min: z.ZodNumber;
                max: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                max?: number;
                min?: number;
            }, {
                max?: number;
                min?: number;
            }>]>>;
            chance: z.ZodOptional<z.ZodNumber>;
            killedByPlayer: z.ZodOptional<z.ZodBoolean>;
            lootingBonus: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            weight?: number;
            count?: number | {
                max?: number;
                min?: number;
            };
            item?: string;
            chance?: number;
            killedByPlayer?: boolean;
            lootingBonus?: number;
        }, {
            weight?: number;
            count?: number | {
                max?: number;
                min?: number;
            };
            item?: string;
            chance?: number;
            killedByPlayer?: boolean;
            lootingBonus?: number;
        }>, "many">;
        conditions: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"killed_by_player">;
        }, "strip", z.ZodTypeAny, {
            type?: "killed_by_player";
        }, {
            type?: "killed_by_player";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"random_chance">;
            chance: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            type?: "random_chance";
            chance?: number;
        }, {
            type?: "random_chance";
            chance?: number;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"looting_enchant">;
            multiplier: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            type?: "looting_enchant";
            multiplier?: number;
        }, {
            type?: "looting_enchant";
            multiplier?: number;
        }>]>, "many">>;
    }, "strip", z.ZodTypeAny, {
        entries?: {
            weight?: number;
            count?: number | {
                max?: number;
                min?: number;
            };
            item?: string;
            chance?: number;
            killedByPlayer?: boolean;
            lootingBonus?: number;
        }[];
        conditions?: ({
            type?: "killed_by_player";
        } | {
            type?: "random_chance";
            chance?: number;
        } | {
            type?: "looting_enchant";
            multiplier?: number;
        })[];
        rolls?: number | {
            max?: number;
            min?: number;
        };
    }, {
        entries?: {
            weight?: number;
            count?: number | {
                max?: number;
                min?: number;
            };
            item?: string;
            chance?: number;
            killedByPlayer?: boolean;
            lootingBonus?: number;
        }[];
        conditions?: ({
            type?: "killed_by_player";
        } | {
            type?: "random_chance";
            chance?: number;
        } | {
            type?: "looting_enchant";
            multiplier?: number;
        })[];
        rolls?: number | {
            max?: number;
            min?: number;
        };
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    id?: string;
    pools?: {
        entries?: {
            weight?: number;
            count?: number | {
                max?: number;
                min?: number;
            };
            item?: string;
            chance?: number;
            killedByPlayer?: boolean;
            lootingBonus?: number;
        }[];
        conditions?: ({
            type?: "killed_by_player";
        } | {
            type?: "random_chance";
            chance?: number;
        } | {
            type?: "looting_enchant";
            multiplier?: number;
        })[];
        rolls?: number | {
            max?: number;
            min?: number;
        };
    }[];
}, {
    id?: string;
    pools?: {
        entries?: {
            weight?: number;
            count?: number | {
                max?: number;
                min?: number;
            };
            item?: string;
            chance?: number;
            killedByPlayer?: boolean;
            lootingBonus?: number;
        }[];
        conditions?: ({
            type?: "killed_by_player";
        } | {
            type?: "random_chance";
            chance?: number;
        } | {
            type?: "looting_enchant";
            multiplier?: number;
        })[];
        rolls?: number | {
            max?: number;
            min?: number;
        };
    }[];
}>;
/**
 * Recipe definition.
 *
 * The optional fields below are consumed differently per `type`:
 *   - type='shaped'    → uses `pattern` + `key`; ignores `ingredients`/`input`/`experience`/`cookTime`.
 *   - type='shapeless' → uses `ingredients`;     ignores `pattern`/`key`/`input`/`experience`/`cookTime`.
 *   - type='furnace'   → uses `input` (+ optional `experience`, `cookTime`); ignores `pattern`/`key`/`ingredients`.
 *   - type='brewing'   → uses `input` + `ingredients[0]` (reagent); other shape fields ignored.
 *   - type='smithing'  → uses `input` + `ingredients[0]` (addition); other shape fields ignored.
 */
export declare const RecipeSchema: z.ZodObject<{
    id: z.ZodString;
    type: z.ZodEnum<["shaped", "shapeless", "furnace", "brewing", "smithing"]>;
    result: z.ZodUnion<[z.ZodString, z.ZodObject<{
        item: z.ZodString;
        count: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        count?: number;
        item?: string;
    }, {
        count?: number;
        item?: string;
    }>]>;
    pattern: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    key: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    ingredients: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    input: z.ZodOptional<z.ZodString>;
    experience: z.ZodOptional<z.ZodNumber>;
    cookTime: z.ZodOptional<z.ZodNumber>;
    unlocksWith: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    pattern?: string[];
    result?: string | {
        count?: number;
        item?: string;
    };
    type?: "shaped" | "shapeless" | "furnace" | "brewing" | "smithing";
    id?: string;
    key?: Record<string, string>;
    ingredients?: string[];
    input?: string;
    experience?: number;
    cookTime?: number;
    unlocksWith?: string[];
}, {
    pattern?: string[];
    result?: string | {
        count?: number;
        item?: string;
    };
    type?: "shaped" | "shapeless" | "furnace" | "brewing" | "smithing";
    id?: string;
    key?: Record<string, string>;
    ingredients?: string[];
    input?: string;
    experience?: number;
    cookTime?: number;
    unlocksWith?: string[];
}>;
/**
 * Spawn rule definition.
 *
 * Top-level spawn rule that can reference any entity ID (custom or vanilla).
 * Use this form when the rule should live in a separate file or reference an entity
 * defined outside this pack. For rules tightly bound to a single custom entity,
 * prefer the inline `entity.spawning` (SpawnConfigSchema) form.
 */
export declare const SpawnRuleSchema: z.ZodObject<{
    entity: z.ZodString;
    biomes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    weight: z.ZodOptional<z.ZodNumber>;
    groupSize: z.ZodOptional<z.ZodObject<{
        min: z.ZodNumber;
        max: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        max?: number;
        min?: number;
    }, {
        max?: number;
        min?: number;
    }>>;
    lightLevel: z.ZodOptional<z.ZodObject<{
        min: z.ZodOptional<z.ZodNumber>;
        max: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        max?: number;
        min?: number;
    }, {
        max?: number;
        min?: number;
    }>>;
    heightRange: z.ZodOptional<z.ZodObject<{
        min: z.ZodOptional<z.ZodNumber>;
        max: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        max?: number;
        min?: number;
    }, {
        max?: number;
        min?: number;
    }>>;
    timeOfDay: z.ZodOptional<z.ZodEnum<["day", "night", "any"]>>;
    surface: z.ZodOptional<z.ZodBoolean>;
    spawnOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    populationCap: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    entity?: string;
    weight?: number;
    biomes?: string[];
    groupSize?: {
        max?: number;
        min?: number;
    };
    lightLevel?: {
        max?: number;
        min?: number;
    };
    heightRange?: {
        max?: number;
        min?: number;
    };
    timeOfDay?: "any" | "day" | "night";
    surface?: boolean;
    spawnOn?: string[];
    populationCap?: number;
}, {
    entity?: string;
    weight?: number;
    biomes?: string[];
    groupSize?: {
        max?: number;
        min?: number;
    };
    lightLevel?: {
        max?: number;
        min?: number;
    };
    heightRange?: {
        max?: number;
        min?: number;
    };
    timeOfDay?: "any" | "day" | "night";
    surface?: boolean;
    spawnOn?: string[];
    populationCap?: number;
}>;
/**
 * Sound definition.
 */
export declare const SoundDefinitionSchema: z.ZodObject<{
    file: z.ZodOptional<z.ZodString>;
    volume: z.ZodOptional<z.ZodNumber>;
    pitch: z.ZodOptional<z.ZodNumber>;
    category: z.ZodOptional<z.ZodEnum<["master", "music", "ambient", "hostile", "neutral", "player"]>>;
}, "strip", z.ZodTypeAny, {
    volume?: number;
    pitch?: number;
    category?: "neutral" | "player" | "hostile" | "ambient" | "master" | "music";
    file?: string;
}, {
    volume?: number;
    pitch?: number;
    category?: "neutral" | "player" | "hostile" | "ambient" | "master" | "music";
    file?: string;
}>;
/**
 * Shared resources.
 */
export declare const SharedResourcesSchema: z.ZodObject<{
    textures: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
        file: z.ZodOptional<z.ZodString>;
        generate: z.ZodOptional<z.ZodObject<{
            type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
            colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                r: z.ZodNumber;
                g: z.ZodNumber;
                b: z.ZodNumber;
                a: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>]>, "many">>;
            factor: z.ZodOptional<z.ZodNumber>;
            seed: z.ZodOptional<z.ZodNumber>;
            pixelSize: z.ZodOptional<z.ZodNumber>;
            scale: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }, {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        }>>;
        pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
            scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
            x: z.ZodOptional<z.ZodNumber>;
            y: z.ZodOptional<z.ZodNumber>;
            lines: z.ZodArray<z.ZodString, "many">;
            palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                r: z.ZodOptional<z.ZodNumber>;
                g: z.ZodOptional<z.ZodNumber>;
                b: z.ZodOptional<z.ZodNumber>;
                a: z.ZodOptional<z.ZodNumber>;
                hex: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>>;
        }, "strip", z.ZodTypeAny, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }, {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }>, "many">>;
    }, "strip", z.ZodTypeAny, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }>>>;
    geometries: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
        file: z.ZodOptional<z.ZodString>;
        template: z.ZodOptional<z.ZodEnum<["humanoid", "quadruped", "quadruped_small", "bird", "fish", "insect", "slime", "flying", "block", "item"]>>;
        design: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
    }, "strip", z.ZodTypeAny, {
        template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        file?: string;
        design?: Record<string, any>;
    }, {
        template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        file?: string;
        design?: Record<string, any>;
    }>>>;
    sounds: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
        file: z.ZodOptional<z.ZodString>;
        volume: z.ZodOptional<z.ZodNumber>;
        pitch: z.ZodOptional<z.ZodNumber>;
        category: z.ZodOptional<z.ZodEnum<["master", "music", "ambient", "hostile", "neutral", "player"]>>;
    }, "strip", z.ZodTypeAny, {
        volume?: number;
        pitch?: number;
        category?: "neutral" | "player" | "hostile" | "ambient" | "master" | "music";
        file?: string;
    }, {
        volume?: number;
        pitch?: number;
        category?: "neutral" | "player" | "hostile" | "ambient" | "master" | "music";
        file?: string;
    }>>>;
}, "strip", z.ZodTypeAny, {
    textures?: Record<string, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }>;
    sounds?: Record<string, {
        volume?: number;
        pitch?: number;
        category?: "neutral" | "player" | "hostile" | "ambient" | "master" | "music";
        file?: string;
    }>;
    geometries?: Record<string, {
        template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        file?: string;
        design?: Record<string, any>;
    }>;
}, {
    textures?: Record<string, {
        file?: string;
        generate?: {
            type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
            scale?: number;
            seed?: number;
            colors?: (string | {
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            })[];
            factor?: number;
            pixelSize?: number;
        };
        pixelArt?: {
            x?: number;
            y?: number;
            palette?: Record<string, {
                hex?: string;
                b?: number;
                a?: number;
                g?: number;
                r?: number;
            }>;
            lines?: string[];
            scaleMode?: "exact" | "unit" | "cover";
        }[];
    }>;
    sounds?: Record<string, {
        volume?: number;
        pitch?: number;
        category?: "neutral" | "player" | "hostile" | "ambient" | "master" | "music";
        file?: string;
    }>;
    geometries?: Record<string, {
        template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
        file?: string;
        design?: Record<string, any>;
    }>;
}>;
/**
 * Generation options.
 */
export declare const GenerationOptionsSchema: z.ZodObject<{
    generatePlaceholderTextures: z.ZodOptional<z.ZodBoolean>;
    generateDefaultGeometry: z.ZodOptional<z.ZodBoolean>;
    createDefaultSpawnRules: z.ZodOptional<z.ZodBoolean>;
    createLootTablesFromDrops: z.ZodOptional<z.ZodBoolean>;
    textureResolution: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<4>]>>;
}, "strip", z.ZodTypeAny, {
    generatePlaceholderTextures?: boolean;
    generateDefaultGeometry?: boolean;
    createDefaultSpawnRules?: boolean;
    createLootTablesFromDrops?: boolean;
    textureResolution?: 1 | 2 | 4;
}, {
    generatePlaceholderTextures?: boolean;
    generateDefaultGeometry?: boolean;
    createDefaultSpawnRules?: boolean;
    createLootTablesFromDrops?: boolean;
    textureResolution?: 1 | 2 | 4;
}>;
/**
 * Complete Minecraft content definition schema.
 */
export declare const MinecraftContentSchema: z.ZodObject<{
    schemaVersion: z.ZodLiteral<"1.0.0">;
    namespace: z.ZodOptional<z.ZodString>;
    displayName: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    entityTypes: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        displayName: z.ZodString;
        traits: z.ZodOptional<z.ZodArray<z.ZodEnum<["humanoid", "quadruped", "quadruped_small", "flying", "aquatic", "arthropod", "slime", "hostile", "passive", "neutral", "boss", "melee_attacker", "ranged_attacker", "exploder", "trader", "tameable", "rideable", "breedable", "leasable", "undead", "illager", "aquatic_only", "baby_variant", "wanders", "patrols", "guards", "flees_daylight", "teleporter"]>, "many">>;
        health: z.ZodOptional<z.ZodNumber>;
        attackDamage: z.ZodOptional<z.ZodNumber>;
        movementSpeed: z.ZodOptional<z.ZodNumber>;
        followRange: z.ZodOptional<z.ZodNumber>;
        knockbackResistance: z.ZodOptional<z.ZodNumber>;
        scale: z.ZodOptional<z.ZodNumber>;
        collisionWidth: z.ZodOptional<z.ZodNumber>;
        collisionHeight: z.ZodOptional<z.ZodNumber>;
        behaviors: z.ZodOptional<z.ZodArray<z.ZodEnum<["wander", "swim", "fly_around", "float", "climb", "melee_attack", "ranged_attack", "target_players", "target_monsters", "flee_when_hurt", "retaliate", "follow_owner", "follow_parent", "herd", "avoid_players", "look_at_player", "beg", "tempt", "sit_command", "eat_grass", "break_doors", "open_doors", "pick_up_items", "sleep_in_bed", "hide_from_sun", "go_home_at_night", "seek_water", "seek_land"]>, "many">>;
        drops: z.ZodOptional<z.ZodArray<z.ZodObject<{
            item: z.ZodString;
            chance: z.ZodOptional<z.ZodNumber>;
            count: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
                min: z.ZodNumber;
                max: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                max?: number;
                min?: number;
            }, {
                max?: number;
                min?: number;
            }>]>>;
            killedByPlayer: z.ZodOptional<z.ZodBoolean>;
            lootingBonus: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            count?: number | {
                max?: number;
                min?: number;
            };
            item?: string;
            chance?: number;
            killedByPlayer?: boolean;
            lootingBonus?: number;
        }, {
            count?: number | {
                max?: number;
                min?: number;
            };
            item?: string;
            chance?: number;
            killedByPlayer?: boolean;
            lootingBonus?: number;
        }>, "many">>;
        appearance: z.ZodOptional<z.ZodObject<{
            bodyType: z.ZodOptional<z.ZodEnum<["humanoid", "quadruped", "quadruped_small", "bird", "fish", "insect", "slime", "flying", "block", "item"]>>;
            primaryColor: z.ZodOptional<z.ZodString>;
            secondaryColor: z.ZodOptional<z.ZodString>;
            textureStyle: z.ZodOptional<z.ZodEnum<["solid", "spotted", "striped", "gradient", "organic", "armored"]>>;
            scale: z.ZodOptional<z.ZodNumber>;
            eyes: z.ZodOptional<z.ZodEnum<["normal", "glowing", "red", "none"]>>;
            particles: z.ZodOptional<z.ZodArray<z.ZodEnum<["flames", "smoke", "drip", "sparkle", "hearts"]>, "many">>;
            texture: z.ZodOptional<z.ZodObject<{
                file: z.ZodOptional<z.ZodString>;
                generate: z.ZodOptional<z.ZodObject<{
                    type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
                    colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                        r: z.ZodNumber;
                        g: z.ZodNumber;
                        b: z.ZodNumber;
                        a: z.ZodOptional<z.ZodNumber>;
                    }, "strip", z.ZodTypeAny, {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }, {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>]>, "many">>;
                    factor: z.ZodOptional<z.ZodNumber>;
                    seed: z.ZodOptional<z.ZodNumber>;
                    pixelSize: z.ZodOptional<z.ZodNumber>;
                    scale: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                }, {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                }>>;
                pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
                    x: z.ZodOptional<z.ZodNumber>;
                    y: z.ZodOptional<z.ZodNumber>;
                    lines: z.ZodArray<z.ZodString, "many">;
                    palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                        r: z.ZodOptional<z.ZodNumber>;
                        g: z.ZodOptional<z.ZodNumber>;
                        b: z.ZodOptional<z.ZodNumber>;
                        a: z.ZodOptional<z.ZodNumber>;
                        hex: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }, {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }>, "many">>;
            }, "strip", z.ZodTypeAny, {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            }, {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            }>>;
            geometry: z.ZodOptional<z.ZodObject<{
                file: z.ZodOptional<z.ZodString>;
                template: z.ZodOptional<z.ZodEnum<["humanoid", "quadruped", "quadruped_small", "bird", "fish", "insect", "slime", "flying", "block", "item"]>>;
                design: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
            }, "strip", z.ZodTypeAny, {
                template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
                file?: string;
                design?: Record<string, any>;
            }, {
                template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
                file?: string;
                design?: Record<string, any>;
            }>>;
        }, "strip", z.ZodTypeAny, {
            geometry?: {
                template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
                file?: string;
                design?: Record<string, any>;
            };
            particles?: ("sparkle" | "flames" | "smoke" | "drip" | "hearts")[];
            scale?: number;
            bodyType?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            primaryColor?: string;
            secondaryColor?: string;
            textureStyle?: "gradient" | "solid" | "spotted" | "striped" | "organic" | "armored";
            eyes?: "normal" | "none" | "glowing" | "red";
            texture?: {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
        }, {
            geometry?: {
                template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
                file?: string;
                design?: Record<string, any>;
            };
            particles?: ("sparkle" | "flames" | "smoke" | "drip" | "hearts")[];
            scale?: number;
            bodyType?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            primaryColor?: string;
            secondaryColor?: string;
            textureStyle?: "gradient" | "solid" | "spotted" | "striped" | "organic" | "armored";
            eyes?: "normal" | "none" | "glowing" | "red";
            texture?: {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
        }>>;
        families: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        hostile: z.ZodOptional<z.ZodBoolean>;
        tameable: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
            tameItems: z.ZodArray<z.ZodString, "many">;
            chance: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            chance?: number;
            tameItems?: string[];
        }, {
            chance?: number;
            tameItems?: string[];
        }>]>>;
        rideable: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
            seatCount: z.ZodOptional<z.ZodNumber>;
            controllable: z.ZodOptional<z.ZodBoolean>;
            controlItems: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        }, "strip", z.ZodTypeAny, {
            seatCount?: number;
            controllable?: boolean;
            controlItems?: string[];
        }, {
            seatCount?: number;
            controllable?: boolean;
            controlItems?: string[];
        }>]>>;
        breedable: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
            breedItems: z.ZodArray<z.ZodString, "many">;
            breedCooldown: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            breedItems?: string[];
            breedCooldown?: number;
        }, {
            breedItems?: string[];
            breedCooldown?: number;
        }>]>>;
        components: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
        componentGroups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodAny>>>;
        events: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
        geometry: z.ZodOptional<z.ZodObject<{
            file: z.ZodOptional<z.ZodString>;
            template: z.ZodOptional<z.ZodEnum<["humanoid", "quadruped", "quadruped_small", "bird", "fish", "insect", "slime", "flying", "block", "item"]>>;
            design: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
        }, "strip", z.ZodTypeAny, {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        }, {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        }>>;
        texture: z.ZodOptional<z.ZodObject<{
            file: z.ZodOptional<z.ZodString>;
            generate: z.ZodOptional<z.ZodObject<{
                type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
                colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                    r: z.ZodNumber;
                    g: z.ZodNumber;
                    b: z.ZodNumber;
                    a: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>]>, "many">>;
                factor: z.ZodOptional<z.ZodNumber>;
                seed: z.ZodOptional<z.ZodNumber>;
                pixelSize: z.ZodOptional<z.ZodNumber>;
                scale: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }>>;
            pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
                scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
                x: z.ZodOptional<z.ZodNumber>;
                y: z.ZodOptional<z.ZodNumber>;
                lines: z.ZodArray<z.ZodString, "many">;
                palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                    r: z.ZodOptional<z.ZodNumber>;
                    g: z.ZodOptional<z.ZodNumber>;
                    b: z.ZodOptional<z.ZodNumber>;
                    a: z.ZodOptional<z.ZodNumber>;
                    hex: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>>;
            }, "strip", z.ZodTypeAny, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }>, "many">>;
        }, "strip", z.ZodTypeAny, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }>>;
        sounds: z.ZodOptional<z.ZodObject<{
            ambient: z.ZodOptional<z.ZodString>;
            hurt: z.ZodOptional<z.ZodString>;
            death: z.ZodOptional<z.ZodString>;
            step: z.ZodOptional<z.ZodString>;
            attack: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            step?: string;
            ambient?: string;
            hurt?: string;
            death?: string;
            attack?: string;
        }, {
            step?: string;
            ambient?: string;
            hurt?: string;
            death?: string;
            attack?: string;
        }>>;
        spawning: z.ZodOptional<z.ZodObject<{
            biomes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            weight: z.ZodOptional<z.ZodNumber>;
            groupSize: z.ZodOptional<z.ZodObject<{
                min: z.ZodNumber;
                max: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                max?: number;
                min?: number;
            }, {
                max?: number;
                min?: number;
            }>>;
            lightLevel: z.ZodOptional<z.ZodObject<{
                min: z.ZodOptional<z.ZodNumber>;
                max: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                max?: number;
                min?: number;
            }, {
                max?: number;
                min?: number;
            }>>;
            heightRange: z.ZodOptional<z.ZodObject<{
                min: z.ZodNumber;
                max: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                max?: number;
                min?: number;
            }, {
                max?: number;
                min?: number;
            }>>;
            timeOfDay: z.ZodOptional<z.ZodEnum<["day", "night", "any"]>>;
            surface: z.ZodOptional<z.ZodBoolean>;
            spawnOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            populationCap: z.ZodOptional<z.ZodNumber>;
            rarity: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            weight?: number;
            biomes?: string[];
            groupSize?: {
                max?: number;
                min?: number;
            };
            lightLevel?: {
                max?: number;
                min?: number;
            };
            heightRange?: {
                max?: number;
                min?: number;
            };
            timeOfDay?: "any" | "day" | "night";
            surface?: boolean;
            spawnOn?: string[];
            populationCap?: number;
            rarity?: number;
        }, {
            weight?: number;
            biomes?: string[];
            groupSize?: {
                max?: number;
                min?: number;
            };
            lightLevel?: {
                max?: number;
                min?: number;
            };
            heightRange?: {
                max?: number;
                min?: number;
            };
            timeOfDay?: "any" | "day" | "night";
            surface?: boolean;
            spawnOn?: string[];
            populationCap?: number;
            rarity?: number;
        }>>;
    }, "strip", z.ZodTypeAny, {
        geometry?: {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        };
        sounds?: {
            step?: string;
            ambient?: string;
            hurt?: string;
            death?: string;
            attack?: string;
        };
        id?: string;
        scale?: number;
        health?: number;
        components?: Record<string, any>;
        events?: Record<string, any>;
        hostile?: boolean;
        traits?: ("flying" | "neutral" | "boss" | "passive" | "teleporter" | "slime" | "hostile" | "humanoid" | "quadruped" | "quadruped_small" | "aquatic" | "arthropod" | "melee_attacker" | "ranged_attacker" | "exploder" | "trader" | "tameable" | "rideable" | "breedable" | "leasable" | "undead" | "illager" | "aquatic_only" | "baby_variant" | "wanders" | "patrols" | "guards" | "flees_daylight")[];
        tameable?: boolean | {
            chance?: number;
            tameItems?: string[];
        };
        rideable?: boolean | {
            seatCount?: number;
            controllable?: boolean;
            controlItems?: string[];
        };
        breedable?: boolean | {
            breedItems?: string[];
            breedCooldown?: number;
        };
        texture?: {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        displayName?: string;
        attackDamage?: number;
        movementSpeed?: number;
        followRange?: number;
        knockbackResistance?: number;
        collisionWidth?: number;
        collisionHeight?: number;
        behaviors?: ("float" | "wander" | "swim" | "fly_around" | "climb" | "melee_attack" | "ranged_attack" | "target_players" | "target_monsters" | "flee_when_hurt" | "retaliate" | "follow_owner" | "follow_parent" | "herd" | "avoid_players" | "look_at_player" | "beg" | "tempt" | "sit_command" | "eat_grass" | "break_doors" | "open_doors" | "pick_up_items" | "sleep_in_bed" | "hide_from_sun" | "go_home_at_night" | "seek_water" | "seek_land")[];
        drops?: {
            count?: number | {
                max?: number;
                min?: number;
            };
            item?: string;
            chance?: number;
            killedByPlayer?: boolean;
            lootingBonus?: number;
        }[];
        appearance?: {
            geometry?: {
                template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
                file?: string;
                design?: Record<string, any>;
            };
            particles?: ("sparkle" | "flames" | "smoke" | "drip" | "hearts")[];
            scale?: number;
            bodyType?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            primaryColor?: string;
            secondaryColor?: string;
            textureStyle?: "gradient" | "solid" | "spotted" | "striped" | "organic" | "armored";
            eyes?: "normal" | "none" | "glowing" | "red";
            texture?: {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
        };
        families?: string[];
        componentGroups?: Record<string, Record<string, any>>;
        spawning?: {
            weight?: number;
            biomes?: string[];
            groupSize?: {
                max?: number;
                min?: number;
            };
            lightLevel?: {
                max?: number;
                min?: number;
            };
            heightRange?: {
                max?: number;
                min?: number;
            };
            timeOfDay?: "any" | "day" | "night";
            surface?: boolean;
            spawnOn?: string[];
            populationCap?: number;
            rarity?: number;
        };
    }, {
        geometry?: {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        };
        sounds?: {
            step?: string;
            ambient?: string;
            hurt?: string;
            death?: string;
            attack?: string;
        };
        id?: string;
        scale?: number;
        health?: number;
        components?: Record<string, any>;
        events?: Record<string, any>;
        hostile?: boolean;
        traits?: ("flying" | "neutral" | "boss" | "passive" | "teleporter" | "slime" | "hostile" | "humanoid" | "quadruped" | "quadruped_small" | "aquatic" | "arthropod" | "melee_attacker" | "ranged_attacker" | "exploder" | "trader" | "tameable" | "rideable" | "breedable" | "leasable" | "undead" | "illager" | "aquatic_only" | "baby_variant" | "wanders" | "patrols" | "guards" | "flees_daylight")[];
        tameable?: boolean | {
            chance?: number;
            tameItems?: string[];
        };
        rideable?: boolean | {
            seatCount?: number;
            controllable?: boolean;
            controlItems?: string[];
        };
        breedable?: boolean | {
            breedItems?: string[];
            breedCooldown?: number;
        };
        texture?: {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        displayName?: string;
        attackDamage?: number;
        movementSpeed?: number;
        followRange?: number;
        knockbackResistance?: number;
        collisionWidth?: number;
        collisionHeight?: number;
        behaviors?: ("float" | "wander" | "swim" | "fly_around" | "climb" | "melee_attack" | "ranged_attack" | "target_players" | "target_monsters" | "flee_when_hurt" | "retaliate" | "follow_owner" | "follow_parent" | "herd" | "avoid_players" | "look_at_player" | "beg" | "tempt" | "sit_command" | "eat_grass" | "break_doors" | "open_doors" | "pick_up_items" | "sleep_in_bed" | "hide_from_sun" | "go_home_at_night" | "seek_water" | "seek_land")[];
        drops?: {
            count?: number | {
                max?: number;
                min?: number;
            };
            item?: string;
            chance?: number;
            killedByPlayer?: boolean;
            lootingBonus?: number;
        }[];
        appearance?: {
            geometry?: {
                template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
                file?: string;
                design?: Record<string, any>;
            };
            particles?: ("sparkle" | "flames" | "smoke" | "drip" | "hearts")[];
            scale?: number;
            bodyType?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            primaryColor?: string;
            secondaryColor?: string;
            textureStyle?: "gradient" | "solid" | "spotted" | "striped" | "organic" | "armored";
            eyes?: "normal" | "none" | "glowing" | "red";
            texture?: {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
        };
        families?: string[];
        componentGroups?: Record<string, Record<string, any>>;
        spawning?: {
            weight?: number;
            biomes?: string[];
            groupSize?: {
                max?: number;
                min?: number;
            };
            lightLevel?: {
                max?: number;
                min?: number;
            };
            heightRange?: {
                max?: number;
                min?: number;
            };
            timeOfDay?: "any" | "day" | "night";
            surface?: boolean;
            spawnOn?: string[];
            populationCap?: number;
            rarity?: number;
        };
    }>, "many">>;
    blockTypes: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        displayName: z.ZodString;
        traits: z.ZodOptional<z.ZodArray<z.ZodEnum<["solid", "transparent", "leaves", "log", "slab", "stairs", "fence", "wall", "door", "trapdoor", "container", "workstation", "light_source", "gravity", "liquid", "redstone_signal", "redstone_receiver", "button", "lever", "pressure_plate"]>, "many">>;
        destroyTime: z.ZodOptional<z.ZodNumber>;
        explosionResistance: z.ZodOptional<z.ZodNumber>;
        friction: z.ZodOptional<z.ZodNumber>;
        lightEmission: z.ZodOptional<z.ZodNumber>;
        lightDampening: z.ZodOptional<z.ZodNumber>;
        flammable: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
            catchChance: z.ZodNumber;
            destroyChance: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            catchChance?: number;
            destroyChance?: number;
        }, {
            catchChance?: number;
            destroyChance?: number;
        }>]>>;
        mapColor: z.ZodOptional<z.ZodString>;
        shape: z.ZodOptional<z.ZodEnum<["cube", "slab", "stairs", "fence", "wall", "cross", "custom"]>>;
        drops: z.ZodOptional<z.ZodArray<z.ZodObject<{
            item: z.ZodString;
            chance: z.ZodOptional<z.ZodNumber>;
            count: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
                min: z.ZodNumber;
                max: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                max?: number;
                min?: number;
            }, {
                max?: number;
                min?: number;
            }>]>>;
            killedByPlayer: z.ZodOptional<z.ZodBoolean>;
            lootingBonus: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            count?: number | {
                max?: number;
                min?: number;
            };
            item?: string;
            chance?: number;
            killedByPlayer?: boolean;
            lootingBonus?: number;
        }, {
            count?: number | {
                max?: number;
                min?: number;
            };
            item?: string;
            chance?: number;
            killedByPlayer?: boolean;
            lootingBonus?: number;
        }>, "many">>;
        texture: z.ZodOptional<z.ZodObject<{
            all: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
                file: z.ZodOptional<z.ZodString>;
                generate: z.ZodOptional<z.ZodObject<{
                    type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
                    colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                        r: z.ZodNumber;
                        g: z.ZodNumber;
                        b: z.ZodNumber;
                        a: z.ZodOptional<z.ZodNumber>;
                    }, "strip", z.ZodTypeAny, {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }, {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>]>, "many">>;
                    factor: z.ZodOptional<z.ZodNumber>;
                    seed: z.ZodOptional<z.ZodNumber>;
                    pixelSize: z.ZodOptional<z.ZodNumber>;
                    scale: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                }, {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                }>>;
                pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
                    x: z.ZodOptional<z.ZodNumber>;
                    y: z.ZodOptional<z.ZodNumber>;
                    lines: z.ZodArray<z.ZodString, "many">;
                    palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                        r: z.ZodOptional<z.ZodNumber>;
                        g: z.ZodOptional<z.ZodNumber>;
                        b: z.ZodOptional<z.ZodNumber>;
                        a: z.ZodOptional<z.ZodNumber>;
                        hex: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }, {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }>, "many">>;
            }, "strip", z.ZodTypeAny, {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            }, {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            }>]>>;
            up: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
                file: z.ZodOptional<z.ZodString>;
                generate: z.ZodOptional<z.ZodObject<{
                    type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
                    colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                        r: z.ZodNumber;
                        g: z.ZodNumber;
                        b: z.ZodNumber;
                        a: z.ZodOptional<z.ZodNumber>;
                    }, "strip", z.ZodTypeAny, {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }, {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>]>, "many">>;
                    factor: z.ZodOptional<z.ZodNumber>;
                    seed: z.ZodOptional<z.ZodNumber>;
                    pixelSize: z.ZodOptional<z.ZodNumber>;
                    scale: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                }, {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                }>>;
                pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
                    x: z.ZodOptional<z.ZodNumber>;
                    y: z.ZodOptional<z.ZodNumber>;
                    lines: z.ZodArray<z.ZodString, "many">;
                    palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                        r: z.ZodOptional<z.ZodNumber>;
                        g: z.ZodOptional<z.ZodNumber>;
                        b: z.ZodOptional<z.ZodNumber>;
                        a: z.ZodOptional<z.ZodNumber>;
                        hex: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }, {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }>, "many">>;
            }, "strip", z.ZodTypeAny, {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            }, {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            }>]>>;
            down: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
                file: z.ZodOptional<z.ZodString>;
                generate: z.ZodOptional<z.ZodObject<{
                    type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
                    colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                        r: z.ZodNumber;
                        g: z.ZodNumber;
                        b: z.ZodNumber;
                        a: z.ZodOptional<z.ZodNumber>;
                    }, "strip", z.ZodTypeAny, {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }, {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>]>, "many">>;
                    factor: z.ZodOptional<z.ZodNumber>;
                    seed: z.ZodOptional<z.ZodNumber>;
                    pixelSize: z.ZodOptional<z.ZodNumber>;
                    scale: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                }, {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                }>>;
                pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
                    x: z.ZodOptional<z.ZodNumber>;
                    y: z.ZodOptional<z.ZodNumber>;
                    lines: z.ZodArray<z.ZodString, "many">;
                    palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                        r: z.ZodOptional<z.ZodNumber>;
                        g: z.ZodOptional<z.ZodNumber>;
                        b: z.ZodOptional<z.ZodNumber>;
                        a: z.ZodOptional<z.ZodNumber>;
                        hex: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }, {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }>, "many">>;
            }, "strip", z.ZodTypeAny, {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            }, {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            }>]>>;
            north: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
                file: z.ZodOptional<z.ZodString>;
                generate: z.ZodOptional<z.ZodObject<{
                    type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
                    colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                        r: z.ZodNumber;
                        g: z.ZodNumber;
                        b: z.ZodNumber;
                        a: z.ZodOptional<z.ZodNumber>;
                    }, "strip", z.ZodTypeAny, {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }, {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>]>, "many">>;
                    factor: z.ZodOptional<z.ZodNumber>;
                    seed: z.ZodOptional<z.ZodNumber>;
                    pixelSize: z.ZodOptional<z.ZodNumber>;
                    scale: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                }, {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                }>>;
                pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
                    x: z.ZodOptional<z.ZodNumber>;
                    y: z.ZodOptional<z.ZodNumber>;
                    lines: z.ZodArray<z.ZodString, "many">;
                    palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                        r: z.ZodOptional<z.ZodNumber>;
                        g: z.ZodOptional<z.ZodNumber>;
                        b: z.ZodOptional<z.ZodNumber>;
                        a: z.ZodOptional<z.ZodNumber>;
                        hex: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }, {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }>, "many">>;
            }, "strip", z.ZodTypeAny, {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            }, {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            }>]>>;
            south: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
                file: z.ZodOptional<z.ZodString>;
                generate: z.ZodOptional<z.ZodObject<{
                    type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
                    colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                        r: z.ZodNumber;
                        g: z.ZodNumber;
                        b: z.ZodNumber;
                        a: z.ZodOptional<z.ZodNumber>;
                    }, "strip", z.ZodTypeAny, {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }, {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>]>, "many">>;
                    factor: z.ZodOptional<z.ZodNumber>;
                    seed: z.ZodOptional<z.ZodNumber>;
                    pixelSize: z.ZodOptional<z.ZodNumber>;
                    scale: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                }, {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                }>>;
                pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
                    x: z.ZodOptional<z.ZodNumber>;
                    y: z.ZodOptional<z.ZodNumber>;
                    lines: z.ZodArray<z.ZodString, "many">;
                    palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                        r: z.ZodOptional<z.ZodNumber>;
                        g: z.ZodOptional<z.ZodNumber>;
                        b: z.ZodOptional<z.ZodNumber>;
                        a: z.ZodOptional<z.ZodNumber>;
                        hex: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }, {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }>, "many">>;
            }, "strip", z.ZodTypeAny, {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            }, {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            }>]>>;
            east: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
                file: z.ZodOptional<z.ZodString>;
                generate: z.ZodOptional<z.ZodObject<{
                    type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
                    colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                        r: z.ZodNumber;
                        g: z.ZodNumber;
                        b: z.ZodNumber;
                        a: z.ZodOptional<z.ZodNumber>;
                    }, "strip", z.ZodTypeAny, {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }, {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>]>, "many">>;
                    factor: z.ZodOptional<z.ZodNumber>;
                    seed: z.ZodOptional<z.ZodNumber>;
                    pixelSize: z.ZodOptional<z.ZodNumber>;
                    scale: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                }, {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                }>>;
                pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
                    x: z.ZodOptional<z.ZodNumber>;
                    y: z.ZodOptional<z.ZodNumber>;
                    lines: z.ZodArray<z.ZodString, "many">;
                    palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                        r: z.ZodOptional<z.ZodNumber>;
                        g: z.ZodOptional<z.ZodNumber>;
                        b: z.ZodOptional<z.ZodNumber>;
                        a: z.ZodOptional<z.ZodNumber>;
                        hex: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }, {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }>, "many">>;
            }, "strip", z.ZodTypeAny, {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            }, {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            }>]>>;
            west: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
                file: z.ZodOptional<z.ZodString>;
                generate: z.ZodOptional<z.ZodObject<{
                    type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
                    colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                        r: z.ZodNumber;
                        g: z.ZodNumber;
                        b: z.ZodNumber;
                        a: z.ZodOptional<z.ZodNumber>;
                    }, "strip", z.ZodTypeAny, {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }, {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>]>, "many">>;
                    factor: z.ZodOptional<z.ZodNumber>;
                    seed: z.ZodOptional<z.ZodNumber>;
                    pixelSize: z.ZodOptional<z.ZodNumber>;
                    scale: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                }, {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                }>>;
                pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
                    x: z.ZodOptional<z.ZodNumber>;
                    y: z.ZodOptional<z.ZodNumber>;
                    lines: z.ZodArray<z.ZodString, "many">;
                    palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                        r: z.ZodOptional<z.ZodNumber>;
                        g: z.ZodOptional<z.ZodNumber>;
                        b: z.ZodOptional<z.ZodNumber>;
                        a: z.ZodOptional<z.ZodNumber>;
                        hex: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }, {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }>, "many">>;
            }, "strip", z.ZodTypeAny, {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            }, {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            }>]>>;
            side: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
                file: z.ZodOptional<z.ZodString>;
                generate: z.ZodOptional<z.ZodObject<{
                    type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
                    colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                        r: z.ZodNumber;
                        g: z.ZodNumber;
                        b: z.ZodNumber;
                        a: z.ZodOptional<z.ZodNumber>;
                    }, "strip", z.ZodTypeAny, {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }, {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>]>, "many">>;
                    factor: z.ZodOptional<z.ZodNumber>;
                    seed: z.ZodOptional<z.ZodNumber>;
                    pixelSize: z.ZodOptional<z.ZodNumber>;
                    scale: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                }, {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                }>>;
                pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
                    x: z.ZodOptional<z.ZodNumber>;
                    y: z.ZodOptional<z.ZodNumber>;
                    lines: z.ZodArray<z.ZodString, "many">;
                    palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                        r: z.ZodOptional<z.ZodNumber>;
                        g: z.ZodOptional<z.ZodNumber>;
                        b: z.ZodOptional<z.ZodNumber>;
                        a: z.ZodOptional<z.ZodNumber>;
                        hex: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }, {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }>, "many">>;
            }, "strip", z.ZodTypeAny, {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            }, {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            }>]>>;
        }, "strip", z.ZodTypeAny, {
            all?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            side?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            up?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            north?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            south?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            east?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            west?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            down?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
        }, {
            all?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            side?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            up?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            north?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            south?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            east?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            west?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            down?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
        }>>;
        geometry: z.ZodOptional<z.ZodObject<{
            file: z.ZodOptional<z.ZodString>;
            template: z.ZodOptional<z.ZodEnum<["humanoid", "quadruped", "quadruped_small", "bird", "fish", "insect", "slime", "flying", "block", "item"]>>;
            design: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
        }, "strip", z.ZodTypeAny, {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        }, {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        }>>;
        sounds: z.ZodOptional<z.ZodEnum<["stone", "wood", "gravel", "grass", "sand", "glass", "metal", "cloth", "snow", "coral"]>>;
        components: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        permutations: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
        states: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodArray<z.ZodBoolean, "many">, z.ZodArray<z.ZodNumber, "many">, z.ZodArray<z.ZodString, "many">]>>>;
        events: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, "strip", z.ZodTypeAny, {
        geometry?: {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        };
        sounds?: "stone" | "wood" | "gravel" | "grass" | "sand" | "glass" | "metal" | "cloth" | "snow" | "coral";
        shape?: "custom" | "slab" | "stairs" | "fence" | "wall" | "cube" | "cross";
        id?: string;
        states?: Record<string, string[] | number[] | boolean[]>;
        components?: Record<string, unknown>;
        events?: Record<string, unknown>;
        traits?: ("log" | "leaves" | "solid" | "transparent" | "slab" | "stairs" | "fence" | "wall" | "door" | "trapdoor" | "container" | "workstation" | "light_source" | "gravity" | "liquid" | "redstone_signal" | "redstone_receiver" | "button" | "lever" | "pressure_plate")[];
        permutations?: Record<string, unknown>[];
        texture?: {
            all?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            side?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            up?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            north?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            south?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            east?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            west?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            down?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
        };
        displayName?: string;
        drops?: {
            count?: number | {
                max?: number;
                min?: number;
            };
            item?: string;
            chance?: number;
            killedByPlayer?: boolean;
            lootingBonus?: number;
        }[];
        destroyTime?: number;
        explosionResistance?: number;
        friction?: number;
        lightEmission?: number;
        lightDampening?: number;
        flammable?: boolean | {
            catchChance?: number;
            destroyChance?: number;
        };
        mapColor?: string;
    }, {
        geometry?: {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        };
        sounds?: "stone" | "wood" | "gravel" | "grass" | "sand" | "glass" | "metal" | "cloth" | "snow" | "coral";
        shape?: "custom" | "slab" | "stairs" | "fence" | "wall" | "cube" | "cross";
        id?: string;
        states?: Record<string, string[] | number[] | boolean[]>;
        components?: Record<string, unknown>;
        events?: Record<string, unknown>;
        traits?: ("log" | "leaves" | "solid" | "transparent" | "slab" | "stairs" | "fence" | "wall" | "door" | "trapdoor" | "container" | "workstation" | "light_source" | "gravity" | "liquid" | "redstone_signal" | "redstone_receiver" | "button" | "lever" | "pressure_plate")[];
        permutations?: Record<string, unknown>[];
        texture?: {
            all?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            side?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            up?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            north?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            south?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            east?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            west?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            down?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
        };
        displayName?: string;
        drops?: {
            count?: number | {
                max?: number;
                min?: number;
            };
            item?: string;
            chance?: number;
            killedByPlayer?: boolean;
            lootingBonus?: number;
        }[];
        destroyTime?: number;
        explosionResistance?: number;
        friction?: number;
        lightEmission?: number;
        lightDampening?: number;
        flammable?: boolean | {
            catchChance?: number;
            destroyChance?: number;
        };
        mapColor?: string;
    }>, "many">>;
    itemTypes: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        displayName: z.ZodString;
        traits: z.ZodOptional<z.ZodArray<z.ZodEnum<["sword", "pickaxe", "axe", "shovel", "hoe", "bow", "crossbow", "food", "armor_helmet", "armor_chestplate", "armor_leggings", "armor_boots", "throwable", "placeable"]>, "many">>;
        maxStackSize: z.ZodOptional<z.ZodNumber>;
        category: z.ZodOptional<z.ZodEnum<["construction", "nature", "equipment", "items", "none"]>>;
        durability: z.ZodOptional<z.ZodNumber>;
        food: z.ZodOptional<z.ZodObject<{
            nutrition: z.ZodNumber;
            saturation: z.ZodOptional<z.ZodNumber>;
            canAlwaysEat: z.ZodOptional<z.ZodBoolean>;
            effects: z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                duration: z.ZodNumber;
                amplifier: z.ZodOptional<z.ZodNumber>;
                chance: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                name?: string;
                duration?: number;
                chance?: number;
                amplifier?: number;
            }, {
                name?: string;
                duration?: number;
                chance?: number;
                amplifier?: number;
            }>, "many">>;
        }, "strip", z.ZodTypeAny, {
            effects?: {
                name?: string;
                duration?: number;
                chance?: number;
                amplifier?: number;
            }[];
            nutrition?: number;
            saturation?: number;
            canAlwaysEat?: boolean;
        }, {
            effects?: {
                name?: string;
                duration?: number;
                chance?: number;
                amplifier?: number;
            }[];
            nutrition?: number;
            saturation?: number;
            canAlwaysEat?: boolean;
        }>>;
        tool: z.ZodOptional<z.ZodObject<{
            miningSpeed: z.ZodOptional<z.ZodNumber>;
            miningLevel: z.ZodOptional<z.ZodEnum<["wood", "stone", "iron", "diamond", "netherite"]>>;
            durability: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            miningSpeed?: number;
            miningLevel?: "stone" | "wood" | "iron" | "diamond" | "netherite";
            durability?: number;
        }, {
            miningSpeed?: number;
            miningLevel?: "stone" | "wood" | "iron" | "diamond" | "netherite";
            durability?: number;
        }>>;
        weapon: z.ZodOptional<z.ZodObject<{
            damage: z.ZodNumber;
            attackSpeed: z.ZodOptional<z.ZodNumber>;
            durability: z.ZodOptional<z.ZodNumber>;
            knockback: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            damage?: number;
            durability?: number;
            attackSpeed?: number;
            knockback?: number;
        }, {
            damage?: number;
            durability?: number;
            attackSpeed?: number;
            knockback?: number;
        }>>;
        armor: z.ZodOptional<z.ZodObject<{
            defense: z.ZodNumber;
            slot: z.ZodEnum<["helmet", "chestplate", "leggings", "boots"]>;
            durability: z.ZodNumber;
            toughness: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            slot?: "helmet" | "chestplate" | "leggings" | "boots";
            durability?: number;
            defense?: number;
            toughness?: number;
        }, {
            slot?: "helmet" | "chestplate" | "leggings" | "boots";
            durability?: number;
            defense?: number;
            toughness?: number;
        }>>;
        projectile: z.ZodOptional<z.ZodObject<{
            projectile: z.ZodString;
            launchPower: z.ZodOptional<z.ZodNumber>;
            chargeable: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            projectile?: string;
            launchPower?: number;
            chargeable?: boolean;
        }, {
            projectile?: string;
            launchPower?: number;
            chargeable?: boolean;
        }>>;
        glint: z.ZodOptional<z.ZodBoolean>;
        fuel: z.ZodOptional<z.ZodNumber>;
        color: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
            file: z.ZodOptional<z.ZodString>;
            generate: z.ZodOptional<z.ZodObject<{
                type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
                colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                    r: z.ZodNumber;
                    g: z.ZodNumber;
                    b: z.ZodNumber;
                    a: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>]>, "many">>;
                factor: z.ZodOptional<z.ZodNumber>;
                seed: z.ZodOptional<z.ZodNumber>;
                pixelSize: z.ZodOptional<z.ZodNumber>;
                scale: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }>>;
            pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
                scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
                x: z.ZodOptional<z.ZodNumber>;
                y: z.ZodOptional<z.ZodNumber>;
                lines: z.ZodArray<z.ZodString, "many">;
                palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                    r: z.ZodOptional<z.ZodNumber>;
                    g: z.ZodOptional<z.ZodNumber>;
                    b: z.ZodOptional<z.ZodNumber>;
                    a: z.ZodOptional<z.ZodNumber>;
                    hex: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>>;
            }, "strip", z.ZodTypeAny, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }>, "many">>;
        }, "strip", z.ZodTypeAny, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }>]>>;
        geometry: z.ZodOptional<z.ZodObject<{
            file: z.ZodOptional<z.ZodString>;
            template: z.ZodOptional<z.ZodEnum<["humanoid", "quadruped", "quadruped_small", "bird", "fish", "insect", "slime", "flying", "block", "item"]>>;
            design: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
        }, "strip", z.ZodTypeAny, {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        }, {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        }>>;
        components: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
        events: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
    }, "strip", z.ZodTypeAny, {
        geometry?: {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        };
        category?: "items" | "none" | "equipment" | "construction" | "nature";
        id?: string;
        color?: string;
        components?: Record<string, any>;
        weapon?: {
            damage?: number;
            durability?: number;
            attackSpeed?: number;
            knockback?: number;
        };
        tool?: {
            miningSpeed?: number;
            miningLevel?: "stone" | "wood" | "iron" | "diamond" | "netherite";
            durability?: number;
        };
        armor?: {
            slot?: "helmet" | "chestplate" | "leggings" | "boots";
            durability?: number;
            defense?: number;
            toughness?: number;
        };
        events?: Record<string, any>;
        food?: {
            effects?: {
                name?: string;
                duration?: number;
                chance?: number;
                amplifier?: number;
            }[];
            nutrition?: number;
            saturation?: number;
            canAlwaysEat?: boolean;
        };
        projectile?: {
            projectile?: string;
            launchPower?: number;
            chargeable?: boolean;
        };
        traits?: ("food" | "pickaxe" | "sword" | "axe" | "shovel" | "hoe" | "bow" | "crossbow" | "armor_helmet" | "armor_chestplate" | "armor_leggings" | "armor_boots" | "throwable" | "placeable")[];
        displayName?: string;
        durability?: number;
        maxStackSize?: number;
        glint?: boolean;
        fuel?: number;
        icon?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
    }, {
        geometry?: {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        };
        category?: "items" | "none" | "equipment" | "construction" | "nature";
        id?: string;
        color?: string;
        components?: Record<string, any>;
        weapon?: {
            damage?: number;
            durability?: number;
            attackSpeed?: number;
            knockback?: number;
        };
        tool?: {
            miningSpeed?: number;
            miningLevel?: "stone" | "wood" | "iron" | "diamond" | "netherite";
            durability?: number;
        };
        armor?: {
            slot?: "helmet" | "chestplate" | "leggings" | "boots";
            durability?: number;
            defense?: number;
            toughness?: number;
        };
        events?: Record<string, any>;
        food?: {
            effects?: {
                name?: string;
                duration?: number;
                chance?: number;
                amplifier?: number;
            }[];
            nutrition?: number;
            saturation?: number;
            canAlwaysEat?: boolean;
        };
        projectile?: {
            projectile?: string;
            launchPower?: number;
            chargeable?: boolean;
        };
        traits?: ("food" | "pickaxe" | "sword" | "axe" | "shovel" | "hoe" | "bow" | "crossbow" | "armor_helmet" | "armor_chestplate" | "armor_leggings" | "armor_boots" | "throwable" | "placeable")[];
        displayName?: string;
        durability?: number;
        maxStackSize?: number;
        glint?: boolean;
        fuel?: number;
        icon?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
    }>, "many">>;
    structures: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        displayName: z.ZodOptional<z.ZodString>;
        type: z.ZodEnum<["simple", "jigsaw"]>;
        structureFile: z.ZodOptional<z.ZodString>;
        blocks: z.ZodOptional<z.ZodObject<{
            southWestBottom: z.ZodObject<{
                x: z.ZodNumber;
                y: z.ZodNumber;
                z: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                x?: number;
                y?: number;
                z?: number;
            }, {
                x?: number;
                y?: number;
                z?: number;
            }>;
            size: z.ZodOptional<z.ZodObject<{
                x: z.ZodNumber;
                y: z.ZodNumber;
                z: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                x?: number;
                y?: number;
                z?: number;
            }, {
                x?: number;
                y?: number;
                z?: number;
            }>>;
            blockLayersBottomToTop: z.ZodArray<z.ZodArray<z.ZodString, "many">, "many">;
            key: z.ZodRecord<z.ZodString, z.ZodObject<{
                typeId: z.ZodString;
                properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
            }, "strip", z.ZodTypeAny, {
                properties?: Record<string, string | number | boolean>;
                typeId?: string;
            }, {
                properties?: Record<string, string | number | boolean>;
                typeId?: string;
            }>>;
        }, "strip", z.ZodTypeAny, {
            size?: {
                x?: number;
                y?: number;
                z?: number;
            };
            key?: Record<string, {
                properties?: Record<string, string | number | boolean>;
                typeId?: string;
            }>;
            southWestBottom?: {
                x?: number;
                y?: number;
                z?: number;
            };
            blockLayersBottomToTop?: string[][];
        }, {
            size?: {
                x?: number;
                y?: number;
                z?: number;
            };
            key?: Record<string, {
                properties?: Record<string, string | number | boolean>;
                typeId?: string;
            }>;
            southWestBottom?: {
                x?: number;
                y?: number;
                z?: number;
            };
            blockLayersBottomToTop?: string[][];
        }>>;
        jigsaw: z.ZodOptional<z.ZodObject<{
            pieces: z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                structureFile: z.ZodOptional<z.ZodString>;
                blocks: z.ZodOptional<z.ZodObject<{
                    southWestBottom: z.ZodObject<{
                        x: z.ZodNumber;
                        y: z.ZodNumber;
                        z: z.ZodNumber;
                    }, "strip", z.ZodTypeAny, {
                        x?: number;
                        y?: number;
                        z?: number;
                    }, {
                        x?: number;
                        y?: number;
                        z?: number;
                    }>;
                    size: z.ZodOptional<z.ZodObject<{
                        x: z.ZodNumber;
                        y: z.ZodNumber;
                        z: z.ZodNumber;
                    }, "strip", z.ZodTypeAny, {
                        x?: number;
                        y?: number;
                        z?: number;
                    }, {
                        x?: number;
                        y?: number;
                        z?: number;
                    }>>;
                    blockLayersBottomToTop: z.ZodArray<z.ZodArray<z.ZodString, "many">, "many">;
                    key: z.ZodRecord<z.ZodString, z.ZodObject<{
                        typeId: z.ZodString;
                        properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
                    }, "strip", z.ZodTypeAny, {
                        properties?: Record<string, string | number | boolean>;
                        typeId?: string;
                    }, {
                        properties?: Record<string, string | number | boolean>;
                        typeId?: string;
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    size?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    key?: Record<string, {
                        properties?: Record<string, string | number | boolean>;
                        typeId?: string;
                    }>;
                    southWestBottom?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    blockLayersBottomToTop?: string[][];
                }, {
                    size?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    key?: Record<string, {
                        properties?: Record<string, string | number | boolean>;
                        typeId?: string;
                    }>;
                    southWestBottom?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    blockLayersBottomToTop?: string[][];
                }>>;
                connections: z.ZodArray<z.ZodObject<{
                    name: z.ZodString;
                    position: z.ZodObject<{
                        x: z.ZodNumber;
                        y: z.ZodNumber;
                        z: z.ZodNumber;
                    }, "strip", z.ZodTypeAny, {
                        x?: number;
                        y?: number;
                        z?: number;
                    }, {
                        x?: number;
                        y?: number;
                        z?: number;
                    }>;
                    direction: z.ZodEnum<["up", "down", "north", "south", "east", "west"]>;
                    canConnectTo: z.ZodArray<z.ZodString, "many">;
                    required: z.ZodOptional<z.ZodBoolean>;
                }, "strip", z.ZodTypeAny, {
                    name?: string;
                    required?: boolean;
                    direction?: "up" | "north" | "south" | "east" | "west" | "down";
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    canConnectTo?: string[];
                }, {
                    name?: string;
                    required?: boolean;
                    direction?: "up" | "north" | "south" | "east" | "west" | "down";
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    canConnectTo?: string[];
                }>, "many">;
                weight: z.ZodOptional<z.ZodNumber>;
                maxCount: z.ZodOptional<z.ZodNumber>;
                spawns: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    entity: z.ZodString;
                    count: z.ZodUnion<[z.ZodNumber, z.ZodObject<{
                        min: z.ZodNumber;
                        max: z.ZodNumber;
                    }, "strip", z.ZodTypeAny, {
                        max?: number;
                        min?: number;
                    }, {
                        max?: number;
                        min?: number;
                    }>]>;
                    position: z.ZodOptional<z.ZodObject<{
                        x: z.ZodNumber;
                        y: z.ZodNumber;
                        z: z.ZodNumber;
                    }, "strip", z.ZodTypeAny, {
                        x?: number;
                        y?: number;
                        z?: number;
                    }, {
                        x?: number;
                        y?: number;
                        z?: number;
                    }>>;
                    spread: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    entity?: string;
                    count?: number | {
                        max?: number;
                        min?: number;
                    };
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    spread?: number;
                }, {
                    entity?: string;
                    count?: number | {
                        max?: number;
                        min?: number;
                    };
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    spread?: number;
                }>, "many">>;
                loot: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    lootTable: z.ZodString;
                    position: z.ZodObject<{
                        x: z.ZodNumber;
                        y: z.ZodNumber;
                        z: z.ZodNumber;
                    }, "strip", z.ZodTypeAny, {
                        x?: number;
                        y?: number;
                        z?: number;
                    }, {
                        x?: number;
                        y?: number;
                        z?: number;
                    }>;
                    containerType: z.ZodOptional<z.ZodEnum<["chest", "barrel", "spawner"]>>;
                }, "strip", z.ZodTypeAny, {
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    lootTable?: string;
                    containerType?: "chest" | "barrel" | "spawner";
                }, {
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    lootTable?: string;
                    containerType?: "chest" | "barrel" | "spawner";
                }>, "many">>;
            }, "strip", z.ZodTypeAny, {
                blocks?: {
                    size?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    key?: Record<string, {
                        properties?: Record<string, string | number | boolean>;
                        typeId?: string;
                    }>;
                    southWestBottom?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    blockLayersBottomToTop?: string[][];
                };
                weight?: number;
                id?: string;
                structureFile?: string;
                connections?: {
                    name?: string;
                    required?: boolean;
                    direction?: "up" | "north" | "south" | "east" | "west" | "down";
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    canConnectTo?: string[];
                }[];
                maxCount?: number;
                spawns?: {
                    entity?: string;
                    count?: number | {
                        max?: number;
                        min?: number;
                    };
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    spread?: number;
                }[];
                loot?: {
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    lootTable?: string;
                    containerType?: "chest" | "barrel" | "spawner";
                }[];
            }, {
                blocks?: {
                    size?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    key?: Record<string, {
                        properties?: Record<string, string | number | boolean>;
                        typeId?: string;
                    }>;
                    southWestBottom?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    blockLayersBottomToTop?: string[][];
                };
                weight?: number;
                id?: string;
                structureFile?: string;
                connections?: {
                    name?: string;
                    required?: boolean;
                    direction?: "up" | "north" | "south" | "east" | "west" | "down";
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    canConnectTo?: string[];
                }[];
                maxCount?: number;
                spawns?: {
                    entity?: string;
                    count?: number | {
                        max?: number;
                        min?: number;
                    };
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    spread?: number;
                }[];
                loot?: {
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    lootTable?: string;
                    containerType?: "chest" | "barrel" | "spawner";
                }[];
            }>, "many">;
            startPiece: z.ZodString;
            maxDepth: z.ZodOptional<z.ZodNumber>;
            maxSize: z.ZodOptional<z.ZodObject<{
                x: z.ZodNumber;
                y: z.ZodNumber;
                z: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                x?: number;
                y?: number;
                z?: number;
            }, {
                x?: number;
                y?: number;
                z?: number;
            }>>;
        }, "strip", z.ZodTypeAny, {
            pieces?: {
                blocks?: {
                    size?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    key?: Record<string, {
                        properties?: Record<string, string | number | boolean>;
                        typeId?: string;
                    }>;
                    southWestBottom?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    blockLayersBottomToTop?: string[][];
                };
                weight?: number;
                id?: string;
                structureFile?: string;
                connections?: {
                    name?: string;
                    required?: boolean;
                    direction?: "up" | "north" | "south" | "east" | "west" | "down";
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    canConnectTo?: string[];
                }[];
                maxCount?: number;
                spawns?: {
                    entity?: string;
                    count?: number | {
                        max?: number;
                        min?: number;
                    };
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    spread?: number;
                }[];
                loot?: {
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    lootTable?: string;
                    containerType?: "chest" | "barrel" | "spawner";
                }[];
            }[];
            startPiece?: string;
            maxDepth?: number;
            maxSize?: {
                x?: number;
                y?: number;
                z?: number;
            };
        }, {
            pieces?: {
                blocks?: {
                    size?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    key?: Record<string, {
                        properties?: Record<string, string | number | boolean>;
                        typeId?: string;
                    }>;
                    southWestBottom?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    blockLayersBottomToTop?: string[][];
                };
                weight?: number;
                id?: string;
                structureFile?: string;
                connections?: {
                    name?: string;
                    required?: boolean;
                    direction?: "up" | "north" | "south" | "east" | "west" | "down";
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    canConnectTo?: string[];
                }[];
                maxCount?: number;
                spawns?: {
                    entity?: string;
                    count?: number | {
                        max?: number;
                        min?: number;
                    };
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    spread?: number;
                }[];
                loot?: {
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    lootTable?: string;
                    containerType?: "chest" | "barrel" | "spawner";
                }[];
            }[];
            startPiece?: string;
            maxDepth?: number;
            maxSize?: {
                x?: number;
                y?: number;
                z?: number;
            };
        }>>;
        generation: z.ZodOptional<z.ZodObject<{
            biomes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            heightRange: z.ZodOptional<z.ZodObject<{
                min: z.ZodNumber;
                max: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                max?: number;
                min?: number;
            }, {
                max?: number;
                min?: number;
            }>>;
            rarity: z.ZodOptional<z.ZodNumber>;
            terrainAdaptation: z.ZodOptional<z.ZodEnum<["none", "bury", "beard_thin", "beard_box"]>>;
            underground: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            biomes?: string[];
            heightRange?: {
                max?: number;
                min?: number;
            };
            rarity?: number;
            terrainAdaptation?: "none" | "bury" | "beard_thin" | "beard_box";
            underground?: boolean;
        }, {
            biomes?: string[];
            heightRange?: {
                max?: number;
                min?: number;
            };
            rarity?: number;
            terrainAdaptation?: "none" | "bury" | "beard_thin" | "beard_box";
            underground?: boolean;
        }>>;
    }, "strip", z.ZodTypeAny, {
        blocks?: {
            size?: {
                x?: number;
                y?: number;
                z?: number;
            };
            key?: Record<string, {
                properties?: Record<string, string | number | boolean>;
                typeId?: string;
            }>;
            southWestBottom?: {
                x?: number;
                y?: number;
                z?: number;
            };
            blockLayersBottomToTop?: string[][];
        };
        type?: "simple" | "jigsaw";
        id?: string;
        displayName?: string;
        structureFile?: string;
        jigsaw?: {
            pieces?: {
                blocks?: {
                    size?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    key?: Record<string, {
                        properties?: Record<string, string | number | boolean>;
                        typeId?: string;
                    }>;
                    southWestBottom?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    blockLayersBottomToTop?: string[][];
                };
                weight?: number;
                id?: string;
                structureFile?: string;
                connections?: {
                    name?: string;
                    required?: boolean;
                    direction?: "up" | "north" | "south" | "east" | "west" | "down";
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    canConnectTo?: string[];
                }[];
                maxCount?: number;
                spawns?: {
                    entity?: string;
                    count?: number | {
                        max?: number;
                        min?: number;
                    };
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    spread?: number;
                }[];
                loot?: {
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    lootTable?: string;
                    containerType?: "chest" | "barrel" | "spawner";
                }[];
            }[];
            startPiece?: string;
            maxDepth?: number;
            maxSize?: {
                x?: number;
                y?: number;
                z?: number;
            };
        };
        generation?: {
            biomes?: string[];
            heightRange?: {
                max?: number;
                min?: number;
            };
            rarity?: number;
            terrainAdaptation?: "none" | "bury" | "beard_thin" | "beard_box";
            underground?: boolean;
        };
    }, {
        blocks?: {
            size?: {
                x?: number;
                y?: number;
                z?: number;
            };
            key?: Record<string, {
                properties?: Record<string, string | number | boolean>;
                typeId?: string;
            }>;
            southWestBottom?: {
                x?: number;
                y?: number;
                z?: number;
            };
            blockLayersBottomToTop?: string[][];
        };
        type?: "simple" | "jigsaw";
        id?: string;
        displayName?: string;
        structureFile?: string;
        jigsaw?: {
            pieces?: {
                blocks?: {
                    size?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    key?: Record<string, {
                        properties?: Record<string, string | number | boolean>;
                        typeId?: string;
                    }>;
                    southWestBottom?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    blockLayersBottomToTop?: string[][];
                };
                weight?: number;
                id?: string;
                structureFile?: string;
                connections?: {
                    name?: string;
                    required?: boolean;
                    direction?: "up" | "north" | "south" | "east" | "west" | "down";
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    canConnectTo?: string[];
                }[];
                maxCount?: number;
                spawns?: {
                    entity?: string;
                    count?: number | {
                        max?: number;
                        min?: number;
                    };
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    spread?: number;
                }[];
                loot?: {
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    lootTable?: string;
                    containerType?: "chest" | "barrel" | "spawner";
                }[];
            }[];
            startPiece?: string;
            maxDepth?: number;
            maxSize?: {
                x?: number;
                y?: number;
                z?: number;
            };
        };
        generation?: {
            biomes?: string[];
            heightRange?: {
                max?: number;
                min?: number;
            };
            rarity?: number;
            terrainAdaptation?: "none" | "bury" | "beard_thin" | "beard_box";
            underground?: boolean;
        };
    }>, "many">>;
    features: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        displayName: z.ZodOptional<z.ZodString>;
        spread: z.ZodOptional<z.ZodObject<{
            places: z.ZodArray<z.ZodObject<{
                type: z.ZodEnum<["block", "structure", "tree", "ore", "vegetation"]>;
                id: z.ZodString;
                count: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
                    min: z.ZodNumber;
                    max: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    max?: number;
                    min?: number;
                }, {
                    max?: number;
                    min?: number;
                }>]>>;
                replacesBlocks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            }, "strip", z.ZodTypeAny, {
                type?: "structure" | "tree" | "block" | "ore" | "vegetation";
                id?: string;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                replacesBlocks?: string[];
            }, {
                type?: "structure" | "tree" | "block" | "ore" | "vegetation";
                id?: string;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                replacesBlocks?: string[];
            }>, "many">;
            count: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
                min: z.ZodNumber;
                max: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                max?: number;
                min?: number;
            }, {
                max?: number;
                min?: number;
            }>]>>;
            heightPlacement: z.ZodOptional<z.ZodObject<{
                type: z.ZodEnum<["surface", "underground", "fixed", "range"]>;
                y: z.ZodOptional<z.ZodNumber>;
                min: z.ZodOptional<z.ZodNumber>;
                max: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                type?: "fixed" | "surface" | "underground" | "range";
                y?: number;
                max?: number;
                min?: number;
            }, {
                type?: "fixed" | "surface" | "underground" | "range";
                y?: number;
                max?: number;
                min?: number;
            }>>;
            scatter: z.ZodOptional<z.ZodObject<{
                type: z.ZodEnum<["uniform", "cluster", "line"]>;
                radius: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                type?: "line" | "uniform" | "cluster";
                radius?: number;
            }, {
                type?: "line" | "uniform" | "cluster";
                radius?: number;
            }>>;
            biomes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            rarity: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            count?: number | {
                max?: number;
                min?: number;
            };
            biomes?: string[];
            rarity?: number;
            places?: {
                type?: "structure" | "tree" | "block" | "ore" | "vegetation";
                id?: string;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                replacesBlocks?: string[];
            }[];
            heightPlacement?: {
                type?: "fixed" | "surface" | "underground" | "range";
                y?: number;
                max?: number;
                min?: number;
            };
            scatter?: {
                type?: "line" | "uniform" | "cluster";
                radius?: number;
            };
        }, {
            count?: number | {
                max?: number;
                min?: number;
            };
            biomes?: string[];
            rarity?: number;
            places?: {
                type?: "structure" | "tree" | "block" | "ore" | "vegetation";
                id?: string;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                replacesBlocks?: string[];
            }[];
            heightPlacement?: {
                type?: "fixed" | "surface" | "underground" | "range";
                y?: number;
                max?: number;
                min?: number;
            };
            scatter?: {
                type?: "line" | "uniform" | "cluster";
                radius?: number;
            };
        }>>;
        nativeFeature: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
        nativeFeatureRule: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
    }, "strip", z.ZodTypeAny, {
        id?: string;
        displayName?: string;
        spread?: {
            count?: number | {
                max?: number;
                min?: number;
            };
            biomes?: string[];
            rarity?: number;
            places?: {
                type?: "structure" | "tree" | "block" | "ore" | "vegetation";
                id?: string;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                replacesBlocks?: string[];
            }[];
            heightPlacement?: {
                type?: "fixed" | "surface" | "underground" | "range";
                y?: number;
                max?: number;
                min?: number;
            };
            scatter?: {
                type?: "line" | "uniform" | "cluster";
                radius?: number;
            };
        };
        nativeFeature?: Record<string, any>;
        nativeFeatureRule?: Record<string, any>;
    }, {
        id?: string;
        displayName?: string;
        spread?: {
            count?: number | {
                max?: number;
                min?: number;
            };
            biomes?: string[];
            rarity?: number;
            places?: {
                type?: "structure" | "tree" | "block" | "ore" | "vegetation";
                id?: string;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                replacesBlocks?: string[];
            }[];
            heightPlacement?: {
                type?: "fixed" | "surface" | "underground" | "range";
                y?: number;
                max?: number;
                min?: number;
            };
            scatter?: {
                type?: "line" | "uniform" | "cluster";
                radius?: number;
            };
        };
        nativeFeature?: Record<string, any>;
        nativeFeatureRule?: Record<string, any>;
    }>, "many">>;
    lootTables: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        pools: z.ZodArray<z.ZodObject<{
            rolls: z.ZodUnion<[z.ZodNumber, z.ZodObject<{
                min: z.ZodNumber;
                max: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                max?: number;
                min?: number;
            }, {
                max?: number;
                min?: number;
            }>]>;
            entries: z.ZodArray<z.ZodObject<{
                item: z.ZodString;
                weight: z.ZodOptional<z.ZodNumber>;
                count: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
                    min: z.ZodNumber;
                    max: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    max?: number;
                    min?: number;
                }, {
                    max?: number;
                    min?: number;
                }>]>>;
                chance: z.ZodOptional<z.ZodNumber>;
                killedByPlayer: z.ZodOptional<z.ZodBoolean>;
                lootingBonus: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                weight?: number;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                item?: string;
                chance?: number;
                killedByPlayer?: boolean;
                lootingBonus?: number;
            }, {
                weight?: number;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                item?: string;
                chance?: number;
                killedByPlayer?: boolean;
                lootingBonus?: number;
            }>, "many">;
            conditions: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"killed_by_player">;
            }, "strip", z.ZodTypeAny, {
                type?: "killed_by_player";
            }, {
                type?: "killed_by_player";
            }>, z.ZodObject<{
                type: z.ZodLiteral<"random_chance">;
                chance: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type?: "random_chance";
                chance?: number;
            }, {
                type?: "random_chance";
                chance?: number;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"looting_enchant">;
                multiplier: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type?: "looting_enchant";
                multiplier?: number;
            }, {
                type?: "looting_enchant";
                multiplier?: number;
            }>]>, "many">>;
        }, "strip", z.ZodTypeAny, {
            entries?: {
                weight?: number;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                item?: string;
                chance?: number;
                killedByPlayer?: boolean;
                lootingBonus?: number;
            }[];
            conditions?: ({
                type?: "killed_by_player";
            } | {
                type?: "random_chance";
                chance?: number;
            } | {
                type?: "looting_enchant";
                multiplier?: number;
            })[];
            rolls?: number | {
                max?: number;
                min?: number;
            };
        }, {
            entries?: {
                weight?: number;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                item?: string;
                chance?: number;
                killedByPlayer?: boolean;
                lootingBonus?: number;
            }[];
            conditions?: ({
                type?: "killed_by_player";
            } | {
                type?: "random_chance";
                chance?: number;
            } | {
                type?: "looting_enchant";
                multiplier?: number;
            })[];
            rolls?: number | {
                max?: number;
                min?: number;
            };
        }>, "many">;
    }, "strip", z.ZodTypeAny, {
        id?: string;
        pools?: {
            entries?: {
                weight?: number;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                item?: string;
                chance?: number;
                killedByPlayer?: boolean;
                lootingBonus?: number;
            }[];
            conditions?: ({
                type?: "killed_by_player";
            } | {
                type?: "random_chance";
                chance?: number;
            } | {
                type?: "looting_enchant";
                multiplier?: number;
            })[];
            rolls?: number | {
                max?: number;
                min?: number;
            };
        }[];
    }, {
        id?: string;
        pools?: {
            entries?: {
                weight?: number;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                item?: string;
                chance?: number;
                killedByPlayer?: boolean;
                lootingBonus?: number;
            }[];
            conditions?: ({
                type?: "killed_by_player";
            } | {
                type?: "random_chance";
                chance?: number;
            } | {
                type?: "looting_enchant";
                multiplier?: number;
            })[];
            rolls?: number | {
                max?: number;
                min?: number;
            };
        }[];
    }>, "many">>;
    recipes: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        type: z.ZodEnum<["shaped", "shapeless", "furnace", "brewing", "smithing"]>;
        result: z.ZodUnion<[z.ZodString, z.ZodObject<{
            item: z.ZodString;
            count: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            count?: number;
            item?: string;
        }, {
            count?: number;
            item?: string;
        }>]>;
        pattern: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        key: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        ingredients: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        input: z.ZodOptional<z.ZodString>;
        experience: z.ZodOptional<z.ZodNumber>;
        cookTime: z.ZodOptional<z.ZodNumber>;
        unlocksWith: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        pattern?: string[];
        result?: string | {
            count?: number;
            item?: string;
        };
        type?: "shaped" | "shapeless" | "furnace" | "brewing" | "smithing";
        id?: string;
        key?: Record<string, string>;
        ingredients?: string[];
        input?: string;
        experience?: number;
        cookTime?: number;
        unlocksWith?: string[];
    }, {
        pattern?: string[];
        result?: string | {
            count?: number;
            item?: string;
        };
        type?: "shaped" | "shapeless" | "furnace" | "brewing" | "smithing";
        id?: string;
        key?: Record<string, string>;
        ingredients?: string[];
        input?: string;
        experience?: number;
        cookTime?: number;
        unlocksWith?: string[];
    }>, "many">>;
    spawnRules: z.ZodOptional<z.ZodArray<z.ZodObject<{
        entity: z.ZodString;
        biomes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        weight: z.ZodOptional<z.ZodNumber>;
        groupSize: z.ZodOptional<z.ZodObject<{
            min: z.ZodNumber;
            max: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            max?: number;
            min?: number;
        }, {
            max?: number;
            min?: number;
        }>>;
        lightLevel: z.ZodOptional<z.ZodObject<{
            min: z.ZodOptional<z.ZodNumber>;
            max: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            max?: number;
            min?: number;
        }, {
            max?: number;
            min?: number;
        }>>;
        heightRange: z.ZodOptional<z.ZodObject<{
            min: z.ZodOptional<z.ZodNumber>;
            max: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            max?: number;
            min?: number;
        }, {
            max?: number;
            min?: number;
        }>>;
        timeOfDay: z.ZodOptional<z.ZodEnum<["day", "night", "any"]>>;
        surface: z.ZodOptional<z.ZodBoolean>;
        spawnOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        populationCap: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        entity?: string;
        weight?: number;
        biomes?: string[];
        groupSize?: {
            max?: number;
            min?: number;
        };
        lightLevel?: {
            max?: number;
            min?: number;
        };
        heightRange?: {
            max?: number;
            min?: number;
        };
        timeOfDay?: "any" | "day" | "night";
        surface?: boolean;
        spawnOn?: string[];
        populationCap?: number;
    }, {
        entity?: string;
        weight?: number;
        biomes?: string[];
        groupSize?: {
            max?: number;
            min?: number;
        };
        lightLevel?: {
            max?: number;
            min?: number;
        };
        heightRange?: {
            max?: number;
            min?: number;
        };
        timeOfDay?: "any" | "day" | "night";
        surface?: boolean;
        spawnOn?: string[];
        populationCap?: number;
    }>, "many">>;
    sharedResources: z.ZodOptional<z.ZodObject<{
        textures: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
            file: z.ZodOptional<z.ZodString>;
            generate: z.ZodOptional<z.ZodObject<{
                type: z.ZodEnum<["none", "solid", "random_noise", "dither_noise", "perlin_noise", "stipple_noise", "gradient"]>;
                colors: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                    r: z.ZodNumber;
                    g: z.ZodNumber;
                    b: z.ZodNumber;
                    a: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>]>, "many">>;
                factor: z.ZodOptional<z.ZodNumber>;
                seed: z.ZodOptional<z.ZodNumber>;
                pixelSize: z.ZodOptional<z.ZodNumber>;
                scale: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }, {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            }>>;
            pixelArt: z.ZodOptional<z.ZodArray<z.ZodObject<{
                scaleMode: z.ZodOptional<z.ZodEnum<["unit", "exact", "cover"]>>;
                x: z.ZodOptional<z.ZodNumber>;
                y: z.ZodOptional<z.ZodNumber>;
                lines: z.ZodArray<z.ZodString, "many">;
                palette: z.ZodRecord<z.ZodString, z.ZodObject<{
                    r: z.ZodOptional<z.ZodNumber>;
                    g: z.ZodOptional<z.ZodNumber>;
                    b: z.ZodOptional<z.ZodNumber>;
                    a: z.ZodOptional<z.ZodNumber>;
                    hex: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>>;
            }, "strip", z.ZodTypeAny, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }, {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }>, "many">>;
        }, "strip", z.ZodTypeAny, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }>>>;
        geometries: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
            file: z.ZodOptional<z.ZodString>;
            template: z.ZodOptional<z.ZodEnum<["humanoid", "quadruped", "quadruped_small", "bird", "fish", "insect", "slime", "flying", "block", "item"]>>;
            design: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
        }, "strip", z.ZodTypeAny, {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        }, {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        }>>>;
        sounds: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
            file: z.ZodOptional<z.ZodString>;
            volume: z.ZodOptional<z.ZodNumber>;
            pitch: z.ZodOptional<z.ZodNumber>;
            category: z.ZodOptional<z.ZodEnum<["master", "music", "ambient", "hostile", "neutral", "player"]>>;
        }, "strip", z.ZodTypeAny, {
            volume?: number;
            pitch?: number;
            category?: "neutral" | "player" | "hostile" | "ambient" | "master" | "music";
            file?: string;
        }, {
            volume?: number;
            pitch?: number;
            category?: "neutral" | "player" | "hostile" | "ambient" | "master" | "music";
            file?: string;
        }>>>;
    }, "strip", z.ZodTypeAny, {
        textures?: Record<string, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }>;
        sounds?: Record<string, {
            volume?: number;
            pitch?: number;
            category?: "neutral" | "player" | "hostile" | "ambient" | "master" | "music";
            file?: string;
        }>;
        geometries?: Record<string, {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        }>;
    }, {
        textures?: Record<string, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }>;
        sounds?: Record<string, {
            volume?: number;
            pitch?: number;
            category?: "neutral" | "player" | "hostile" | "ambient" | "master" | "music";
            file?: string;
        }>;
        geometries?: Record<string, {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        }>;
    }>>;
    options: z.ZodOptional<z.ZodObject<{
        generatePlaceholderTextures: z.ZodOptional<z.ZodBoolean>;
        generateDefaultGeometry: z.ZodOptional<z.ZodBoolean>;
        createDefaultSpawnRules: z.ZodOptional<z.ZodBoolean>;
        createLootTablesFromDrops: z.ZodOptional<z.ZodBoolean>;
        textureResolution: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<4>]>>;
    }, "strip", z.ZodTypeAny, {
        generatePlaceholderTextures?: boolean;
        generateDefaultGeometry?: boolean;
        createDefaultSpawnRules?: boolean;
        createLootTablesFromDrops?: boolean;
        textureResolution?: 1 | 2 | 4;
    }, {
        generatePlaceholderTextures?: boolean;
        generateDefaultGeometry?: boolean;
        createDefaultSpawnRules?: boolean;
        createLootTablesFromDrops?: boolean;
        textureResolution?: 1 | 2 | 4;
    }>>;
}, "strip", z.ZodTypeAny, {
    description?: string;
    structures?: {
        blocks?: {
            size?: {
                x?: number;
                y?: number;
                z?: number;
            };
            key?: Record<string, {
                properties?: Record<string, string | number | boolean>;
                typeId?: string;
            }>;
            southWestBottom?: {
                x?: number;
                y?: number;
                z?: number;
            };
            blockLayersBottomToTop?: string[][];
        };
        type?: "simple" | "jigsaw";
        id?: string;
        displayName?: string;
        structureFile?: string;
        jigsaw?: {
            pieces?: {
                blocks?: {
                    size?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    key?: Record<string, {
                        properties?: Record<string, string | number | boolean>;
                        typeId?: string;
                    }>;
                    southWestBottom?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    blockLayersBottomToTop?: string[][];
                };
                weight?: number;
                id?: string;
                structureFile?: string;
                connections?: {
                    name?: string;
                    required?: boolean;
                    direction?: "up" | "north" | "south" | "east" | "west" | "down";
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    canConnectTo?: string[];
                }[];
                maxCount?: number;
                spawns?: {
                    entity?: string;
                    count?: number | {
                        max?: number;
                        min?: number;
                    };
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    spread?: number;
                }[];
                loot?: {
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    lootTable?: string;
                    containerType?: "chest" | "barrel" | "spawner";
                }[];
            }[];
            startPiece?: string;
            maxDepth?: number;
            maxSize?: {
                x?: number;
                y?: number;
                z?: number;
            };
        };
        generation?: {
            biomes?: string[];
            heightRange?: {
                max?: number;
                min?: number;
            };
            rarity?: number;
            terrainAdaptation?: "none" | "bury" | "beard_thin" | "beard_box";
            underground?: boolean;
        };
    }[];
    options?: {
        generatePlaceholderTextures?: boolean;
        generateDefaultGeometry?: boolean;
        createDefaultSpawnRules?: boolean;
        createLootTablesFromDrops?: boolean;
        textureResolution?: 1 | 2 | 4;
    };
    features?: {
        id?: string;
        displayName?: string;
        spread?: {
            count?: number | {
                max?: number;
                min?: number;
            };
            biomes?: string[];
            rarity?: number;
            places?: {
                type?: "structure" | "tree" | "block" | "ore" | "vegetation";
                id?: string;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                replacesBlocks?: string[];
            }[];
            heightPlacement?: {
                type?: "fixed" | "surface" | "underground" | "range";
                y?: number;
                max?: number;
                min?: number;
            };
            scatter?: {
                type?: "line" | "uniform" | "cluster";
                radius?: number;
            };
        };
        nativeFeature?: Record<string, any>;
        nativeFeatureRule?: Record<string, any>;
    }[];
    recipes?: {
        pattern?: string[];
        result?: string | {
            count?: number;
            item?: string;
        };
        type?: "shaped" | "shapeless" | "furnace" | "brewing" | "smithing";
        id?: string;
        key?: Record<string, string>;
        ingredients?: string[];
        input?: string;
        experience?: number;
        cookTime?: number;
        unlocksWith?: string[];
    }[];
    displayName?: string;
    schemaVersion?: "1.0.0";
    namespace?: string;
    entityTypes?: {
        geometry?: {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        };
        sounds?: {
            step?: string;
            ambient?: string;
            hurt?: string;
            death?: string;
            attack?: string;
        };
        id?: string;
        scale?: number;
        health?: number;
        components?: Record<string, any>;
        events?: Record<string, any>;
        hostile?: boolean;
        traits?: ("flying" | "neutral" | "boss" | "passive" | "teleporter" | "slime" | "hostile" | "humanoid" | "quadruped" | "quadruped_small" | "aquatic" | "arthropod" | "melee_attacker" | "ranged_attacker" | "exploder" | "trader" | "tameable" | "rideable" | "breedable" | "leasable" | "undead" | "illager" | "aquatic_only" | "baby_variant" | "wanders" | "patrols" | "guards" | "flees_daylight")[];
        tameable?: boolean | {
            chance?: number;
            tameItems?: string[];
        };
        rideable?: boolean | {
            seatCount?: number;
            controllable?: boolean;
            controlItems?: string[];
        };
        breedable?: boolean | {
            breedItems?: string[];
            breedCooldown?: number;
        };
        texture?: {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        displayName?: string;
        attackDamage?: number;
        movementSpeed?: number;
        followRange?: number;
        knockbackResistance?: number;
        collisionWidth?: number;
        collisionHeight?: number;
        behaviors?: ("float" | "wander" | "swim" | "fly_around" | "climb" | "melee_attack" | "ranged_attack" | "target_players" | "target_monsters" | "flee_when_hurt" | "retaliate" | "follow_owner" | "follow_parent" | "herd" | "avoid_players" | "look_at_player" | "beg" | "tempt" | "sit_command" | "eat_grass" | "break_doors" | "open_doors" | "pick_up_items" | "sleep_in_bed" | "hide_from_sun" | "go_home_at_night" | "seek_water" | "seek_land")[];
        drops?: {
            count?: number | {
                max?: number;
                min?: number;
            };
            item?: string;
            chance?: number;
            killedByPlayer?: boolean;
            lootingBonus?: number;
        }[];
        appearance?: {
            geometry?: {
                template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
                file?: string;
                design?: Record<string, any>;
            };
            particles?: ("sparkle" | "flames" | "smoke" | "drip" | "hearts")[];
            scale?: number;
            bodyType?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            primaryColor?: string;
            secondaryColor?: string;
            textureStyle?: "gradient" | "solid" | "spotted" | "striped" | "organic" | "armored";
            eyes?: "normal" | "none" | "glowing" | "red";
            texture?: {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
        };
        families?: string[];
        componentGroups?: Record<string, Record<string, any>>;
        spawning?: {
            weight?: number;
            biomes?: string[];
            groupSize?: {
                max?: number;
                min?: number;
            };
            lightLevel?: {
                max?: number;
                min?: number;
            };
            heightRange?: {
                max?: number;
                min?: number;
            };
            timeOfDay?: "any" | "day" | "night";
            surface?: boolean;
            spawnOn?: string[];
            populationCap?: number;
            rarity?: number;
        };
    }[];
    blockTypes?: {
        geometry?: {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        };
        sounds?: "stone" | "wood" | "gravel" | "grass" | "sand" | "glass" | "metal" | "cloth" | "snow" | "coral";
        shape?: "custom" | "slab" | "stairs" | "fence" | "wall" | "cube" | "cross";
        id?: string;
        states?: Record<string, string[] | number[] | boolean[]>;
        components?: Record<string, unknown>;
        events?: Record<string, unknown>;
        traits?: ("log" | "leaves" | "solid" | "transparent" | "slab" | "stairs" | "fence" | "wall" | "door" | "trapdoor" | "container" | "workstation" | "light_source" | "gravity" | "liquid" | "redstone_signal" | "redstone_receiver" | "button" | "lever" | "pressure_plate")[];
        permutations?: Record<string, unknown>[];
        texture?: {
            all?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            side?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            up?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            north?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            south?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            east?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            west?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            down?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
        };
        displayName?: string;
        drops?: {
            count?: number | {
                max?: number;
                min?: number;
            };
            item?: string;
            chance?: number;
            killedByPlayer?: boolean;
            lootingBonus?: number;
        }[];
        destroyTime?: number;
        explosionResistance?: number;
        friction?: number;
        lightEmission?: number;
        lightDampening?: number;
        flammable?: boolean | {
            catchChance?: number;
            destroyChance?: number;
        };
        mapColor?: string;
    }[];
    itemTypes?: {
        geometry?: {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        };
        category?: "items" | "none" | "equipment" | "construction" | "nature";
        id?: string;
        color?: string;
        components?: Record<string, any>;
        weapon?: {
            damage?: number;
            durability?: number;
            attackSpeed?: number;
            knockback?: number;
        };
        tool?: {
            miningSpeed?: number;
            miningLevel?: "stone" | "wood" | "iron" | "diamond" | "netherite";
            durability?: number;
        };
        armor?: {
            slot?: "helmet" | "chestplate" | "leggings" | "boots";
            durability?: number;
            defense?: number;
            toughness?: number;
        };
        events?: Record<string, any>;
        food?: {
            effects?: {
                name?: string;
                duration?: number;
                chance?: number;
                amplifier?: number;
            }[];
            nutrition?: number;
            saturation?: number;
            canAlwaysEat?: boolean;
        };
        projectile?: {
            projectile?: string;
            launchPower?: number;
            chargeable?: boolean;
        };
        traits?: ("food" | "pickaxe" | "sword" | "axe" | "shovel" | "hoe" | "bow" | "crossbow" | "armor_helmet" | "armor_chestplate" | "armor_leggings" | "armor_boots" | "throwable" | "placeable")[];
        displayName?: string;
        durability?: number;
        maxStackSize?: number;
        glint?: boolean;
        fuel?: number;
        icon?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
    }[];
    lootTables?: {
        id?: string;
        pools?: {
            entries?: {
                weight?: number;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                item?: string;
                chance?: number;
                killedByPlayer?: boolean;
                lootingBonus?: number;
            }[];
            conditions?: ({
                type?: "killed_by_player";
            } | {
                type?: "random_chance";
                chance?: number;
            } | {
                type?: "looting_enchant";
                multiplier?: number;
            })[];
            rolls?: number | {
                max?: number;
                min?: number;
            };
        }[];
    }[];
    spawnRules?: {
        entity?: string;
        weight?: number;
        biomes?: string[];
        groupSize?: {
            max?: number;
            min?: number;
        };
        lightLevel?: {
            max?: number;
            min?: number;
        };
        heightRange?: {
            max?: number;
            min?: number;
        };
        timeOfDay?: "any" | "day" | "night";
        surface?: boolean;
        spawnOn?: string[];
        populationCap?: number;
    }[];
    sharedResources?: {
        textures?: Record<string, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }>;
        sounds?: Record<string, {
            volume?: number;
            pitch?: number;
            category?: "neutral" | "player" | "hostile" | "ambient" | "master" | "music";
            file?: string;
        }>;
        geometries?: Record<string, {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        }>;
    };
}, {
    description?: string;
    structures?: {
        blocks?: {
            size?: {
                x?: number;
                y?: number;
                z?: number;
            };
            key?: Record<string, {
                properties?: Record<string, string | number | boolean>;
                typeId?: string;
            }>;
            southWestBottom?: {
                x?: number;
                y?: number;
                z?: number;
            };
            blockLayersBottomToTop?: string[][];
        };
        type?: "simple" | "jigsaw";
        id?: string;
        displayName?: string;
        structureFile?: string;
        jigsaw?: {
            pieces?: {
                blocks?: {
                    size?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    key?: Record<string, {
                        properties?: Record<string, string | number | boolean>;
                        typeId?: string;
                    }>;
                    southWestBottom?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    blockLayersBottomToTop?: string[][];
                };
                weight?: number;
                id?: string;
                structureFile?: string;
                connections?: {
                    name?: string;
                    required?: boolean;
                    direction?: "up" | "north" | "south" | "east" | "west" | "down";
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    canConnectTo?: string[];
                }[];
                maxCount?: number;
                spawns?: {
                    entity?: string;
                    count?: number | {
                        max?: number;
                        min?: number;
                    };
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    spread?: number;
                }[];
                loot?: {
                    position?: {
                        x?: number;
                        y?: number;
                        z?: number;
                    };
                    lootTable?: string;
                    containerType?: "chest" | "barrel" | "spawner";
                }[];
            }[];
            startPiece?: string;
            maxDepth?: number;
            maxSize?: {
                x?: number;
                y?: number;
                z?: number;
            };
        };
        generation?: {
            biomes?: string[];
            heightRange?: {
                max?: number;
                min?: number;
            };
            rarity?: number;
            terrainAdaptation?: "none" | "bury" | "beard_thin" | "beard_box";
            underground?: boolean;
        };
    }[];
    options?: {
        generatePlaceholderTextures?: boolean;
        generateDefaultGeometry?: boolean;
        createDefaultSpawnRules?: boolean;
        createLootTablesFromDrops?: boolean;
        textureResolution?: 1 | 2 | 4;
    };
    features?: {
        id?: string;
        displayName?: string;
        spread?: {
            count?: number | {
                max?: number;
                min?: number;
            };
            biomes?: string[];
            rarity?: number;
            places?: {
                type?: "structure" | "tree" | "block" | "ore" | "vegetation";
                id?: string;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                replacesBlocks?: string[];
            }[];
            heightPlacement?: {
                type?: "fixed" | "surface" | "underground" | "range";
                y?: number;
                max?: number;
                min?: number;
            };
            scatter?: {
                type?: "line" | "uniform" | "cluster";
                radius?: number;
            };
        };
        nativeFeature?: Record<string, any>;
        nativeFeatureRule?: Record<string, any>;
    }[];
    recipes?: {
        pattern?: string[];
        result?: string | {
            count?: number;
            item?: string;
        };
        type?: "shaped" | "shapeless" | "furnace" | "brewing" | "smithing";
        id?: string;
        key?: Record<string, string>;
        ingredients?: string[];
        input?: string;
        experience?: number;
        cookTime?: number;
        unlocksWith?: string[];
    }[];
    displayName?: string;
    schemaVersion?: "1.0.0";
    namespace?: string;
    entityTypes?: {
        geometry?: {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        };
        sounds?: {
            step?: string;
            ambient?: string;
            hurt?: string;
            death?: string;
            attack?: string;
        };
        id?: string;
        scale?: number;
        health?: number;
        components?: Record<string, any>;
        events?: Record<string, any>;
        hostile?: boolean;
        traits?: ("flying" | "neutral" | "boss" | "passive" | "teleporter" | "slime" | "hostile" | "humanoid" | "quadruped" | "quadruped_small" | "aquatic" | "arthropod" | "melee_attacker" | "ranged_attacker" | "exploder" | "trader" | "tameable" | "rideable" | "breedable" | "leasable" | "undead" | "illager" | "aquatic_only" | "baby_variant" | "wanders" | "patrols" | "guards" | "flees_daylight")[];
        tameable?: boolean | {
            chance?: number;
            tameItems?: string[];
        };
        rideable?: boolean | {
            seatCount?: number;
            controllable?: boolean;
            controlItems?: string[];
        };
        breedable?: boolean | {
            breedItems?: string[];
            breedCooldown?: number;
        };
        texture?: {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
        displayName?: string;
        attackDamage?: number;
        movementSpeed?: number;
        followRange?: number;
        knockbackResistance?: number;
        collisionWidth?: number;
        collisionHeight?: number;
        behaviors?: ("float" | "wander" | "swim" | "fly_around" | "climb" | "melee_attack" | "ranged_attack" | "target_players" | "target_monsters" | "flee_when_hurt" | "retaliate" | "follow_owner" | "follow_parent" | "herd" | "avoid_players" | "look_at_player" | "beg" | "tempt" | "sit_command" | "eat_grass" | "break_doors" | "open_doors" | "pick_up_items" | "sleep_in_bed" | "hide_from_sun" | "go_home_at_night" | "seek_water" | "seek_land")[];
        drops?: {
            count?: number | {
                max?: number;
                min?: number;
            };
            item?: string;
            chance?: number;
            killedByPlayer?: boolean;
            lootingBonus?: number;
        }[];
        appearance?: {
            geometry?: {
                template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
                file?: string;
                design?: Record<string, any>;
            };
            particles?: ("sparkle" | "flames" | "smoke" | "drip" | "hearts")[];
            scale?: number;
            bodyType?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            primaryColor?: string;
            secondaryColor?: string;
            textureStyle?: "gradient" | "solid" | "spotted" | "striped" | "organic" | "armored";
            eyes?: "normal" | "none" | "glowing" | "red";
            texture?: {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
        };
        families?: string[];
        componentGroups?: Record<string, Record<string, any>>;
        spawning?: {
            weight?: number;
            biomes?: string[];
            groupSize?: {
                max?: number;
                min?: number;
            };
            lightLevel?: {
                max?: number;
                min?: number;
            };
            heightRange?: {
                max?: number;
                min?: number;
            };
            timeOfDay?: "any" | "day" | "night";
            surface?: boolean;
            spawnOn?: string[];
            populationCap?: number;
            rarity?: number;
        };
    }[];
    blockTypes?: {
        geometry?: {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        };
        sounds?: "stone" | "wood" | "gravel" | "grass" | "sand" | "glass" | "metal" | "cloth" | "snow" | "coral";
        shape?: "custom" | "slab" | "stairs" | "fence" | "wall" | "cube" | "cross";
        id?: string;
        states?: Record<string, string[] | number[] | boolean[]>;
        components?: Record<string, unknown>;
        events?: Record<string, unknown>;
        traits?: ("log" | "leaves" | "solid" | "transparent" | "slab" | "stairs" | "fence" | "wall" | "door" | "trapdoor" | "container" | "workstation" | "light_source" | "gravity" | "liquid" | "redstone_signal" | "redstone_receiver" | "button" | "lever" | "pressure_plate")[];
        permutations?: Record<string, unknown>[];
        texture?: {
            all?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            side?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            up?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            north?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            south?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            east?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            west?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
            down?: string | {
                file?: string;
                generate?: {
                    type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                    scale?: number;
                    seed?: number;
                    colors?: (string | {
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    })[];
                    factor?: number;
                    pixelSize?: number;
                };
                pixelArt?: {
                    x?: number;
                    y?: number;
                    palette?: Record<string, {
                        hex?: string;
                        b?: number;
                        a?: number;
                        g?: number;
                        r?: number;
                    }>;
                    lines?: string[];
                    scaleMode?: "exact" | "unit" | "cover";
                }[];
            };
        };
        displayName?: string;
        drops?: {
            count?: number | {
                max?: number;
                min?: number;
            };
            item?: string;
            chance?: number;
            killedByPlayer?: boolean;
            lootingBonus?: number;
        }[];
        destroyTime?: number;
        explosionResistance?: number;
        friction?: number;
        lightEmission?: number;
        lightDampening?: number;
        flammable?: boolean | {
            catchChance?: number;
            destroyChance?: number;
        };
        mapColor?: string;
    }[];
    itemTypes?: {
        geometry?: {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        };
        category?: "items" | "none" | "equipment" | "construction" | "nature";
        id?: string;
        color?: string;
        components?: Record<string, any>;
        weapon?: {
            damage?: number;
            durability?: number;
            attackSpeed?: number;
            knockback?: number;
        };
        tool?: {
            miningSpeed?: number;
            miningLevel?: "stone" | "wood" | "iron" | "diamond" | "netherite";
            durability?: number;
        };
        armor?: {
            slot?: "helmet" | "chestplate" | "leggings" | "boots";
            durability?: number;
            defense?: number;
            toughness?: number;
        };
        events?: Record<string, any>;
        food?: {
            effects?: {
                name?: string;
                duration?: number;
                chance?: number;
                amplifier?: number;
            }[];
            nutrition?: number;
            saturation?: number;
            canAlwaysEat?: boolean;
        };
        projectile?: {
            projectile?: string;
            launchPower?: number;
            chargeable?: boolean;
        };
        traits?: ("food" | "pickaxe" | "sword" | "axe" | "shovel" | "hoe" | "bow" | "crossbow" | "armor_helmet" | "armor_chestplate" | "armor_leggings" | "armor_boots" | "throwable" | "placeable")[];
        displayName?: string;
        durability?: number;
        maxStackSize?: number;
        glint?: boolean;
        fuel?: number;
        icon?: string | {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        };
    }[];
    lootTables?: {
        id?: string;
        pools?: {
            entries?: {
                weight?: number;
                count?: number | {
                    max?: number;
                    min?: number;
                };
                item?: string;
                chance?: number;
                killedByPlayer?: boolean;
                lootingBonus?: number;
            }[];
            conditions?: ({
                type?: "killed_by_player";
            } | {
                type?: "random_chance";
                chance?: number;
            } | {
                type?: "looting_enchant";
                multiplier?: number;
            })[];
            rolls?: number | {
                max?: number;
                min?: number;
            };
        }[];
    }[];
    spawnRules?: {
        entity?: string;
        weight?: number;
        biomes?: string[];
        groupSize?: {
            max?: number;
            min?: number;
        };
        lightLevel?: {
            max?: number;
            min?: number;
        };
        heightRange?: {
            max?: number;
            min?: number;
        };
        timeOfDay?: "any" | "day" | "night";
        surface?: boolean;
        spawnOn?: string[];
        populationCap?: number;
    }[];
    sharedResources?: {
        textures?: Record<string, {
            file?: string;
            generate?: {
                type?: "none" | "gradient" | "solid" | "random_noise" | "dither_noise" | "perlin_noise" | "stipple_noise";
                scale?: number;
                seed?: number;
                colors?: (string | {
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                })[];
                factor?: number;
                pixelSize?: number;
            };
            pixelArt?: {
                x?: number;
                y?: number;
                palette?: Record<string, {
                    hex?: string;
                    b?: number;
                    a?: number;
                    g?: number;
                    r?: number;
                }>;
                lines?: string[];
                scaleMode?: "exact" | "unit" | "cover";
            }[];
        }>;
        sounds?: Record<string, {
            volume?: number;
            pitch?: number;
            category?: "neutral" | "player" | "hostile" | "ambient" | "master" | "music";
            file?: string;
        }>;
        geometries?: Record<string, {
            template?: "flying" | "item" | "slime" | "humanoid" | "block" | "bird" | "insect" | "fish" | "quadruped" | "quadruped_small";
            file?: string;
            design?: Record<string, any>;
        }>;
    };
}>;
/**
 * Type inference from schema.
 */
export type MinecraftContent = z.infer<typeof MinecraftContentSchema>;
export type EntityType = z.infer<typeof EntityTypeSchema>;
export type BlockType = z.infer<typeof BlockTypeSchema>;
export type ItemType = z.infer<typeof ItemTypeSchema>;
export type Structure = z.infer<typeof StructureSchema>;
export type Feature = z.infer<typeof FeatureSchema>;
export type LootTable = z.infer<typeof LootTableSchema>;
export type Recipe = z.infer<typeof RecipeSchema>;
export type SpawnRule = z.infer<typeof SpawnRuleSchema>;
