import { z } from "zod";
export declare const ManifestSchema: z.ZodObject<{
    format_version: z.ZodNumber;
    header: z.ZodObject<{
        name: z.ZodString;
        uuid: z.ZodString;
        version: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>;
        description: z.ZodOptional<z.ZodString>;
        base_game_version: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>>;
        lock_template_options: z.ZodOptional<z.ZodBoolean>;
        allow_random_seed: z.ZodOptional<z.ZodBoolean>;
        min_engine_version: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>>;
        max_engine_version: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>>;
        platform_locked: z.ZodOptional<z.ZodBoolean>;
        packScope: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        description?: string;
        name?: string;
        version?: string | number[];
        uuid?: string;
        base_game_version?: string | number[];
        lock_template_options?: boolean;
        allow_random_seed?: boolean;
        min_engine_version?: string | number[];
        max_engine_version?: string | number[];
        platform_locked?: boolean;
        packScope?: string;
    }, {
        description?: string;
        name?: string;
        version?: string | number[];
        uuid?: string;
        base_game_version?: string | number[];
        lock_template_options?: boolean;
        allow_random_seed?: boolean;
        min_engine_version?: string | number[];
        max_engine_version?: string | number[];
        platform_locked?: boolean;
        packScope?: string;
    }>;
    modules: z.ZodArray<z.ZodObject<{
        type: z.ZodString;
        uuid: z.ZodString;
        version: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>;
        description: z.ZodOptional<z.ZodString>;
        language: z.ZodOptional<z.ZodString>;
        entry: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        description?: string;
        type?: string;
        version?: string | number[];
        uuid?: string;
        entry?: string;
        language?: string;
    }, {
        description?: string;
        type?: string;
        version?: string | number[];
        uuid?: string;
        entry?: string;
        language?: string;
    }>, "many">;
    dependencies: z.ZodOptional<z.ZodArray<z.ZodObject<{
        uuid: z.ZodOptional<z.ZodString>;
        module_name: z.ZodOptional<z.ZodString>;
        version: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>;
    }, "strip", z.ZodTypeAny, {
        version?: string | number[];
        uuid?: string;
        module_name?: string;
    }, {
        version?: string | number[];
        uuid?: string;
        module_name?: string;
    }>, "many">>;
    subpacks: z.ZodOptional<z.ZodArray<z.ZodObject<{
        folder_name: z.ZodString;
        name: z.ZodString;
        memory_tier: z.ZodOptional<z.ZodNumber>;
        memory_performance_tier: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        name?: string;
        folder_name?: string;
        memory_tier?: number;
        memory_performance_tier?: number;
    }, {
        name?: string;
        folder_name?: string;
        memory_tier?: number;
        memory_performance_tier?: number;
    }>, "many">>;
    capabilities: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    metadata: z.ZodOptional<z.ZodObject<{
        authors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        product_type: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        authors?: string[];
        product_type?: string;
    }, {
        authors?: string[];
        product_type?: string;
    }>>;
    settings: z.ZodOptional<z.ZodArray<z.ZodObject<{
        type: z.ZodString;
        text: z.ZodString;
        name: z.ZodOptional<z.ZodString>;
        default: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNumber, z.ZodString]>>;
        min: z.ZodOptional<z.ZodNumber>;
        max: z.ZodOptional<z.ZodNumber>;
        step: z.ZodOptional<z.ZodNumber>;
        options: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodOptional<z.ZodString>;
            text: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            text?: string;
            name?: string;
        }, {
            text?: string;
            name?: string;
        }>, "many">>;
    }, "strip", z.ZodTypeAny, {
        text?: string;
        name?: string;
        options?: {
            text?: string;
            name?: string;
        }[];
        type?: string;
        default?: string | number | boolean;
        max?: number;
        min?: number;
        step?: number;
    }, {
        text?: string;
        name?: string;
        options?: {
            text?: string;
            name?: string;
        }[];
        type?: string;
        default?: string | number | boolean;
        max?: number;
        min?: number;
        step?: number;
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    metadata?: {
        authors?: string[];
        product_type?: string;
    };
    format_version?: number;
    dependencies?: {
        version?: string | number[];
        uuid?: string;
        module_name?: string;
    }[];
    capabilities?: string[];
    header?: {
        description?: string;
        name?: string;
        version?: string | number[];
        uuid?: string;
        base_game_version?: string | number[];
        lock_template_options?: boolean;
        allow_random_seed?: boolean;
        min_engine_version?: string | number[];
        max_engine_version?: string | number[];
        platform_locked?: boolean;
        packScope?: string;
    };
    modules?: {
        description?: string;
        type?: string;
        version?: string | number[];
        uuid?: string;
        entry?: string;
        language?: string;
    }[];
    settings?: {
        text?: string;
        name?: string;
        options?: {
            text?: string;
            name?: string;
        }[];
        type?: string;
        default?: string | number | boolean;
        max?: number;
        min?: number;
        step?: number;
    }[];
    subpacks?: {
        name?: string;
        folder_name?: string;
        memory_tier?: number;
        memory_performance_tier?: number;
    }[];
}, {
    metadata?: {
        authors?: string[];
        product_type?: string;
    };
    format_version?: number;
    dependencies?: {
        version?: string | number[];
        uuid?: string;
        module_name?: string;
    }[];
    capabilities?: string[];
    header?: {
        description?: string;
        name?: string;
        version?: string | number[];
        uuid?: string;
        base_game_version?: string | number[];
        lock_template_options?: boolean;
        allow_random_seed?: boolean;
        min_engine_version?: string | number[];
        max_engine_version?: string | number[];
        platform_locked?: boolean;
        packScope?: string;
    };
    modules?: {
        description?: string;
        type?: string;
        version?: string | number[];
        uuid?: string;
        entry?: string;
        language?: string;
    }[];
    settings?: {
        text?: string;
        name?: string;
        options?: {
            text?: string;
            name?: string;
        }[];
        type?: string;
        default?: string | number | boolean;
        max?: number;
        min?: number;
        step?: number;
    }[];
    subpacks?: {
        name?: string;
        folder_name?: string;
        memory_tier?: number;
        memory_performance_tier?: number;
    }[];
}>;
export type JsonManifest = z.infer<typeof ManifestSchema>;
