import { z } from 'astro/zod';
import { EnumChangefreq } from 'sitemap';

declare const publicOptionsSchema: z.ZodObject<{
    customPages: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    entryLimit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    changefreq: z.ZodOptional<z.ZodNativeEnum<typeof EnumChangefreq>>;
    lastmod: z.ZodOptional<z.ZodDate>;
    priority: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    entryLimit: number;
    customPages?: string[] | undefined;
    changefreq?: EnumChangefreq | undefined;
    lastmod?: Date | undefined;
    priority?: number | undefined;
}, {
    customPages?: string[] | undefined;
    entryLimit?: number | undefined;
    changefreq?: EnumChangefreq | undefined;
    lastmod?: Date | undefined;
    priority?: number | undefined;
}>;
declare const privateOptionsSchema: z.ZodObject<{
    internal: z.ZodObject<{
        i18n: z.ZodObject<{
            defaultLocale: z.ZodString;
            locales: z.ZodArray<z.ZodString, "many">;
        }, "strip", z.ZodTypeAny, {
            defaultLocale: string;
            locales: string[];
        }, {
            defaultLocale: string;
            locales: string[];
        }>;
        routes: z.ZodArray<z.ZodObject<{
            locale: z.ZodString;
            params: z.ZodArray<z.ZodString, "many">;
            pattern: z.ZodString;
            injectedRoute: z.ZodObject<{
                pattern: z.ZodString;
                entrypoint: z.ZodString;
                prerender: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                pattern: string;
                entrypoint: string;
                prerender?: boolean | undefined;
            }, {
                pattern: string;
                entrypoint: string;
                prerender?: boolean | undefined;
            }>;
        }, "strip", z.ZodTypeAny, {
            locale: string;
            params: string[];
            pattern: string;
            injectedRoute: {
                pattern: string;
                entrypoint: string;
                prerender?: boolean | undefined;
            };
        }, {
            locale: string;
            params: string[];
            pattern: string;
            injectedRoute: {
                pattern: string;
                entrypoint: string;
                prerender?: boolean | undefined;
            };
        }>, "many">;
    }, "strip", z.ZodTypeAny, {
        i18n: {
            defaultLocale: string;
            locales: string[];
        };
        routes: {
            locale: string;
            params: string[];
            pattern: string;
            injectedRoute: {
                pattern: string;
                entrypoint: string;
                prerender?: boolean | undefined;
            };
        }[];
    }, {
        i18n: {
            defaultLocale: string;
            locales: string[];
        };
        routes: {
            locale: string;
            params: string[];
            pattern: string;
            injectedRoute: {
                pattern: string;
                entrypoint: string;
                prerender?: boolean | undefined;
            };
        }[];
    }>;
}, "strip", z.ZodTypeAny, {
    internal: {
        i18n: {
            defaultLocale: string;
            locales: string[];
        };
        routes: {
            locale: string;
            params: string[];
            pattern: string;
            injectedRoute: {
                pattern: string;
                entrypoint: string;
                prerender?: boolean | undefined;
            };
        }[];
    };
}, {
    internal: {
        i18n: {
            defaultLocale: string;
            locales: string[];
        };
        routes: {
            locale: string;
            params: string[];
            pattern: string;
            injectedRoute: {
                pattern: string;
                entrypoint: string;
                prerender?: boolean | undefined;
            };
        }[];
    };
}>;
declare const optionsSchema: z.ZodIntersection<z.ZodObject<{
    customPages: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    entryLimit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    changefreq: z.ZodOptional<z.ZodNativeEnum<typeof EnumChangefreq>>;
    lastmod: z.ZodOptional<z.ZodDate>;
    priority: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    entryLimit: number;
    customPages?: string[] | undefined;
    changefreq?: EnumChangefreq | undefined;
    lastmod?: Date | undefined;
    priority?: number | undefined;
}, {
    customPages?: string[] | undefined;
    entryLimit?: number | undefined;
    changefreq?: EnumChangefreq | undefined;
    lastmod?: Date | undefined;
    priority?: number | undefined;
}>, z.ZodObject<{
    internal: z.ZodObject<{
        i18n: z.ZodObject<{
            defaultLocale: z.ZodString;
            locales: z.ZodArray<z.ZodString, "many">;
        }, "strip", z.ZodTypeAny, {
            defaultLocale: string;
            locales: string[];
        }, {
            defaultLocale: string;
            locales: string[];
        }>;
        routes: z.ZodArray<z.ZodObject<{
            locale: z.ZodString;
            params: z.ZodArray<z.ZodString, "many">;
            pattern: z.ZodString;
            injectedRoute: z.ZodObject<{
                pattern: z.ZodString;
                entrypoint: z.ZodString;
                prerender: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                pattern: string;
                entrypoint: string;
                prerender?: boolean | undefined;
            }, {
                pattern: string;
                entrypoint: string;
                prerender?: boolean | undefined;
            }>;
        }, "strip", z.ZodTypeAny, {
            locale: string;
            params: string[];
            pattern: string;
            injectedRoute: {
                pattern: string;
                entrypoint: string;
                prerender?: boolean | undefined;
            };
        }, {
            locale: string;
            params: string[];
            pattern: string;
            injectedRoute: {
                pattern: string;
                entrypoint: string;
                prerender?: boolean | undefined;
            };
        }>, "many">;
    }, "strip", z.ZodTypeAny, {
        i18n: {
            defaultLocale: string;
            locales: string[];
        };
        routes: {
            locale: string;
            params: string[];
            pattern: string;
            injectedRoute: {
                pattern: string;
                entrypoint: string;
                prerender?: boolean | undefined;
            };
        }[];
    }, {
        i18n: {
            defaultLocale: string;
            locales: string[];
        };
        routes: {
            locale: string;
            params: string[];
            pattern: string;
            injectedRoute: {
                pattern: string;
                entrypoint: string;
                prerender?: boolean | undefined;
            };
        }[];
    }>;
}, "strip", z.ZodTypeAny, {
    internal: {
        i18n: {
            defaultLocale: string;
            locales: string[];
        };
        routes: {
            locale: string;
            params: string[];
            pattern: string;
            injectedRoute: {
                pattern: string;
                entrypoint: string;
                prerender?: boolean | undefined;
            };
        }[];
    };
}, {
    internal: {
        i18n: {
            defaultLocale: string;
            locales: string[];
        };
        routes: {
            locale: string;
            params: string[];
            pattern: string;
            injectedRoute: {
                pattern: string;
                entrypoint: string;
                prerender?: boolean | undefined;
            };
        }[];
    };
}>>;
type SitemapOptions = z.infer<typeof optionsSchema>;

export { type SitemapOptions, optionsSchema, privateOptionsSchema, publicOptionsSchema };
