import { z } from 'zod';
import { AppFeatureType, BUILD_TYPES_MANIFEST_FORMAT } from '../../types/services/app-features-service.js';
import { ManifestHostingType } from '../../types/services/manifest-service.js';
export declare const ManifestFeatureSchema: z.ZodObject<{
    type: z.ZodNativeEnum<typeof AppFeatureType>;
    name: z.ZodOptional<z.ZodString>;
    build: z.ZodOptional<z.ZodObject<{
        source: z.ZodNativeEnum<typeof BUILD_TYPES_MANIFEST_FORMAT>;
        suffix: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        source: BUILD_TYPES_MANIFEST_FORMAT;
        suffix?: string | undefined;
    }, {
        source: BUILD_TYPES_MANIFEST_FORMAT;
        suffix?: string | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    type: AppFeatureType;
    name?: string | undefined;
    build?: {
        source: BUILD_TYPES_MANIFEST_FORMAT;
        suffix?: string | undefined;
    } | undefined;
}, {
    type: AppFeatureType;
    name?: string | undefined;
    build?: {
        source: BUILD_TYPES_MANIFEST_FORMAT;
        suffix?: string | undefined;
    } | undefined;
}>;
export declare const ManifestFileSchema: z.ZodObject<{
    version: z.ZodString;
    app: z.ZodObject<{
        id: z.ZodOptional<z.ZodString>;
        name: z.ZodOptional<z.ZodString>;
        hosting: z.ZodOptional<z.ZodObject<{
            cdn: z.ZodOptional<z.ZodObject<{
                type: z.ZodNativeEnum<typeof ManifestHostingType>;
                path: z.ZodString;
            }, "strict", z.ZodTypeAny, {
                type: ManifestHostingType;
                path: string;
            }, {
                type: ManifestHostingType;
                path: string;
            }>>;
            server: z.ZodOptional<z.ZodObject<{
                type: z.ZodNativeEnum<typeof ManifestHostingType>;
                path: z.ZodString;
            }, "strict", z.ZodTypeAny, {
                type: ManifestHostingType;
                path: string;
            }, {
                type: ManifestHostingType;
                path: string;
            }>>;
        }, "strict", z.ZodTypeAny, {
            cdn?: {
                type: ManifestHostingType;
                path: string;
            } | undefined;
            server?: {
                type: ManifestHostingType;
                path: string;
            } | undefined;
        }, {
            cdn?: {
                type: ManifestHostingType;
                path: string;
            } | undefined;
            server?: {
                type: ManifestHostingType;
                path: string;
            } | undefined;
        }>>;
        features: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodNativeEnum<typeof AppFeatureType>;
            name: z.ZodOptional<z.ZodString>;
            build: z.ZodOptional<z.ZodObject<{
                source: z.ZodNativeEnum<typeof BUILD_TYPES_MANIFEST_FORMAT>;
                suffix: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                source: BUILD_TYPES_MANIFEST_FORMAT;
                suffix?: string | undefined;
            }, {
                source: BUILD_TYPES_MANIFEST_FORMAT;
                suffix?: string | undefined;
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: AppFeatureType;
            name?: string | undefined;
            build?: {
                source: BUILD_TYPES_MANIFEST_FORMAT;
                suffix?: string | undefined;
            } | undefined;
        }, {
            type: AppFeatureType;
            name?: string | undefined;
            build?: {
                source: BUILD_TYPES_MANIFEST_FORMAT;
                suffix?: string | undefined;
            } | undefined;
        }>, "many">>;
    }, "strict", z.ZodTypeAny, {
        id?: string | undefined;
        name?: string | undefined;
        hosting?: {
            cdn?: {
                type: ManifestHostingType;
                path: string;
            } | undefined;
            server?: {
                type: ManifestHostingType;
                path: string;
            } | undefined;
        } | undefined;
        features?: {
            type: AppFeatureType;
            name?: string | undefined;
            build?: {
                source: BUILD_TYPES_MANIFEST_FORMAT;
                suffix?: string | undefined;
            } | undefined;
        }[] | undefined;
    }, {
        id?: string | undefined;
        name?: string | undefined;
        hosting?: {
            cdn?: {
                type: ManifestHostingType;
                path: string;
            } | undefined;
            server?: {
                type: ManifestHostingType;
                path: string;
            } | undefined;
        } | undefined;
        features?: {
            type: AppFeatureType;
            name?: string | undefined;
            build?: {
                source: BUILD_TYPES_MANIFEST_FORMAT;
                suffix?: string | undefined;
            } | undefined;
        }[] | undefined;
    }>;
}, "strict", z.ZodTypeAny, {
    app: {
        id?: string | undefined;
        name?: string | undefined;
        hosting?: {
            cdn?: {
                type: ManifestHostingType;
                path: string;
            } | undefined;
            server?: {
                type: ManifestHostingType;
                path: string;
            } | undefined;
        } | undefined;
        features?: {
            type: AppFeatureType;
            name?: string | undefined;
            build?: {
                source: BUILD_TYPES_MANIFEST_FORMAT;
                suffix?: string | undefined;
            } | undefined;
        }[] | undefined;
    };
    version: string;
}, {
    app: {
        id?: string | undefined;
        name?: string | undefined;
        hosting?: {
            cdn?: {
                type: ManifestHostingType;
                path: string;
            } | undefined;
            server?: {
                type: ManifestHostingType;
                path: string;
            } | undefined;
        } | undefined;
        features?: {
            type: AppFeatureType;
            name?: string | undefined;
            build?: {
                source: BUILD_TYPES_MANIFEST_FORMAT;
                suffix?: string | undefined;
            } | undefined;
        }[] | undefined;
    };
    version: string;
}>;
