import * as zod from 'zod';
import { TypeOf, ZodRawShape } from 'zod';
import { Collection } from '@nuxt/content';

declare const schema: zod.ZodObject<{
    sitemap: zod.ZodOptional<zod.ZodObject<{
        loc: zod.ZodOptional<zod.ZodString>;
        lastmod: zod.ZodOptional<zod.ZodDate>;
        changefreq: zod.ZodOptional<zod.ZodUnion<[zod.ZodLiteral<"always">, zod.ZodLiteral<"hourly">, zod.ZodLiteral<"daily">, zod.ZodLiteral<"weekly">, zod.ZodLiteral<"monthly">, zod.ZodLiteral<"yearly">, zod.ZodLiteral<"never">]>>;
        priority: zod.ZodOptional<zod.ZodNumber>;
        images: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
            loc: zod.ZodString;
            caption: zod.ZodOptional<zod.ZodString>;
            geo_location: zod.ZodOptional<zod.ZodString>;
            title: zod.ZodOptional<zod.ZodString>;
            license: zod.ZodOptional<zod.ZodString>;
        }, "strip", zod.ZodTypeAny, {
            loc: string;
            caption?: string | undefined;
            geo_location?: string | undefined;
            title?: string | undefined;
            license?: string | undefined;
        }, {
            loc: string;
            caption?: string | undefined;
            geo_location?: string | undefined;
            title?: string | undefined;
            license?: string | undefined;
        }>, "many">>;
        videos: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
            content_loc: zod.ZodString;
            player_loc: zod.ZodOptional<zod.ZodString>;
            duration: zod.ZodOptional<zod.ZodString>;
            expiration_date: zod.ZodOptional<zod.ZodDate>;
            rating: zod.ZodOptional<zod.ZodNumber>;
            view_count: zod.ZodOptional<zod.ZodNumber>;
            publication_date: zod.ZodOptional<zod.ZodDate>;
            family_friendly: zod.ZodOptional<zod.ZodBoolean>;
            tag: zod.ZodOptional<zod.ZodString>;
            category: zod.ZodOptional<zod.ZodString>;
            restriction: zod.ZodOptional<zod.ZodObject<{
                relationship: zod.ZodOptional<zod.ZodLiteral<"allow">>;
                value: zod.ZodOptional<zod.ZodString>;
            }, "strip", zod.ZodTypeAny, {
                value?: string | undefined;
                relationship?: "allow" | undefined;
            }, {
                value?: string | undefined;
                relationship?: "allow" | undefined;
            }>>;
            gallery_loc: zod.ZodOptional<zod.ZodString>;
            price: zod.ZodOptional<zod.ZodString>;
            requires_subscription: zod.ZodOptional<zod.ZodBoolean>;
            uploader: zod.ZodOptional<zod.ZodString>;
        }, "strip", zod.ZodTypeAny, {
            content_loc: string;
            player_loc?: string | undefined;
            duration?: string | undefined;
            expiration_date?: Date | undefined;
            rating?: number | undefined;
            view_count?: number | undefined;
            publication_date?: Date | undefined;
            family_friendly?: boolean | undefined;
            tag?: string | undefined;
            category?: string | undefined;
            restriction?: {
                value?: string | undefined;
                relationship?: "allow" | undefined;
            } | undefined;
            gallery_loc?: string | undefined;
            price?: string | undefined;
            requires_subscription?: boolean | undefined;
            uploader?: string | undefined;
        }, {
            content_loc: string;
            player_loc?: string | undefined;
            duration?: string | undefined;
            expiration_date?: Date | undefined;
            rating?: number | undefined;
            view_count?: number | undefined;
            publication_date?: Date | undefined;
            family_friendly?: boolean | undefined;
            tag?: string | undefined;
            category?: string | undefined;
            restriction?: {
                value?: string | undefined;
                relationship?: "allow" | undefined;
            } | undefined;
            gallery_loc?: string | undefined;
            price?: string | undefined;
            requires_subscription?: boolean | undefined;
            uploader?: string | undefined;
        }>, "many">>;
    }, "strip", zod.ZodTypeAny, {
        loc?: string | undefined;
        lastmod?: Date | undefined;
        changefreq?: "never" | "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | undefined;
        priority?: number | undefined;
        images?: {
            loc: string;
            caption?: string | undefined;
            geo_location?: string | undefined;
            title?: string | undefined;
            license?: string | undefined;
        }[] | undefined;
        videos?: {
            content_loc: string;
            player_loc?: string | undefined;
            duration?: string | undefined;
            expiration_date?: Date | undefined;
            rating?: number | undefined;
            view_count?: number | undefined;
            publication_date?: Date | undefined;
            family_friendly?: boolean | undefined;
            tag?: string | undefined;
            category?: string | undefined;
            restriction?: {
                value?: string | undefined;
                relationship?: "allow" | undefined;
            } | undefined;
            gallery_loc?: string | undefined;
            price?: string | undefined;
            requires_subscription?: boolean | undefined;
            uploader?: string | undefined;
        }[] | undefined;
    }, {
        loc?: string | undefined;
        lastmod?: Date | undefined;
        changefreq?: "never" | "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | undefined;
        priority?: number | undefined;
        images?: {
            loc: string;
            caption?: string | undefined;
            geo_location?: string | undefined;
            title?: string | undefined;
            license?: string | undefined;
        }[] | undefined;
        videos?: {
            content_loc: string;
            player_loc?: string | undefined;
            duration?: string | undefined;
            expiration_date?: Date | undefined;
            rating?: number | undefined;
            view_count?: number | undefined;
            publication_date?: Date | undefined;
            family_friendly?: boolean | undefined;
            tag?: string | undefined;
            category?: string | undefined;
            restriction?: {
                value?: string | undefined;
                relationship?: "allow" | undefined;
            } | undefined;
            gallery_loc?: string | undefined;
            price?: string | undefined;
            requires_subscription?: boolean | undefined;
            uploader?: string | undefined;
        }[] | undefined;
    }>>;
}, "strip", zod.ZodTypeAny, {
    sitemap?: {
        loc?: string | undefined;
        lastmod?: Date | undefined;
        changefreq?: "never" | "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | undefined;
        priority?: number | undefined;
        images?: {
            loc: string;
            caption?: string | undefined;
            geo_location?: string | undefined;
            title?: string | undefined;
            license?: string | undefined;
        }[] | undefined;
        videos?: {
            content_loc: string;
            player_loc?: string | undefined;
            duration?: string | undefined;
            expiration_date?: Date | undefined;
            rating?: number | undefined;
            view_count?: number | undefined;
            publication_date?: Date | undefined;
            family_friendly?: boolean | undefined;
            tag?: string | undefined;
            category?: string | undefined;
            restriction?: {
                value?: string | undefined;
                relationship?: "allow" | undefined;
            } | undefined;
            gallery_loc?: string | undefined;
            price?: string | undefined;
            requires_subscription?: boolean | undefined;
            uploader?: string | undefined;
        }[] | undefined;
    } | undefined;
}, {
    sitemap?: {
        loc?: string | undefined;
        lastmod?: Date | undefined;
        changefreq?: "never" | "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | undefined;
        priority?: number | undefined;
        images?: {
            loc: string;
            caption?: string | undefined;
            geo_location?: string | undefined;
            title?: string | undefined;
            license?: string | undefined;
        }[] | undefined;
        videos?: {
            content_loc: string;
            player_loc?: string | undefined;
            duration?: string | undefined;
            expiration_date?: Date | undefined;
            rating?: number | undefined;
            view_count?: number | undefined;
            publication_date?: Date | undefined;
            family_friendly?: boolean | undefined;
            tag?: string | undefined;
            category?: string | undefined;
            restriction?: {
                value?: string | undefined;
                relationship?: "allow" | undefined;
            } | undefined;
            gallery_loc?: string | undefined;
            price?: string | undefined;
            requires_subscription?: boolean | undefined;
            uploader?: string | undefined;
        }[] | undefined;
    } | undefined;
}>;
type SitemapSchema = TypeOf<typeof schema>;
declare function asSitemapCollection<T extends ZodRawShape>(collection: Collection<T>): Collection<T>;

export { asSitemapCollection, schema };
export type { SitemapSchema };
