import type { AstroConfig } from '../@types/astro';
import { z } from 'zod';
export declare const AstroConfigSchema: z.ZodObject<{
    projectRoot: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodString>>, URL, string | undefined>;
    src: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodString>>, URL, string | undefined>;
    pages: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodString>>, URL, string | undefined>;
    layouts: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodString>>, URL, string | undefined>;
    public: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodString>>, URL, string | undefined>;
    dist: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodString>>, URL, string | undefined>;
    renderers: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
    markdownOptions: z.ZodDefault<z.ZodOptional<z.ZodObject<{
        footnotes: z.ZodOptional<z.ZodBoolean>;
        gfm: z.ZodOptional<z.ZodBoolean>;
        render: z.ZodDefault<z.ZodOptional<z.ZodAny>>;
    }, "strict", z.ZodTypeAny, {
        footnotes?: boolean | undefined;
        gfm?: boolean | undefined;
        render?: any;
    }, {
        footnotes?: boolean | undefined;
        gfm?: boolean | undefined;
        render?: any;
    }>>>;
    buildOptions: z.ZodDefault<z.ZodOptional<z.ZodObject<{
        site: z.ZodOptional<z.ZodString>;
        sitemap: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
        pageUrlFormat: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"file">, z.ZodLiteral<"directory">]>>>;
        experimentalStaticBuild: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    }, "strip", z.ZodTypeAny, {
        site?: string | undefined;
        sitemap: boolean;
        pageUrlFormat: "file" | "directory";
        experimentalStaticBuild: boolean;
    }, {
        site?: string | undefined;
        sitemap?: boolean | undefined;
        pageUrlFormat?: "file" | "directory" | undefined;
        experimentalStaticBuild?: boolean | undefined;
    }>>>;
    devOptions: z.ZodDefault<z.ZodOptional<z.ZodObject<{
        hostname: z.ZodDefault<z.ZodOptional<z.ZodString>>;
        port: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        trailingSlash: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"always">, z.ZodLiteral<"never">, z.ZodLiteral<"ignore">]>>>;
    }, "strip", z.ZodTypeAny, {
        hostname: string;
        port: number;
        trailingSlash: "always" | "never" | "ignore";
    }, {
        hostname?: string | undefined;
        port?: number | undefined;
        trailingSlash?: "always" | "never" | "ignore" | undefined;
    }>>>;
    vite: z.ZodDefault<z.ZodOptional<z.ZodAny>>;
}, "strip", z.ZodTypeAny, {
    vite?: any;
    projectRoot: URL;
    src: URL;
    pages: URL;
    layouts: URL;
    public: URL;
    dist: URL;
    renderers: string[];
    markdownOptions: {
        footnotes?: boolean | undefined;
        gfm?: boolean | undefined;
        render?: any;
    };
    buildOptions: {
        site?: string | undefined;
        sitemap: boolean;
        pageUrlFormat: "file" | "directory";
        experimentalStaticBuild: boolean;
    };
    devOptions: {
        hostname: string;
        port: number;
        trailingSlash: "always" | "never" | "ignore";
    };
}, {
    projectRoot?: string | undefined;
    src?: string | undefined;
    pages?: string | undefined;
    layouts?: string | undefined;
    public?: string | undefined;
    dist?: string | undefined;
    renderers?: string[] | undefined;
    markdownOptions?: {
        footnotes?: boolean | undefined;
        gfm?: boolean | undefined;
        render?: any;
    } | undefined;
    buildOptions?: {
        site?: string | undefined;
        sitemap?: boolean | undefined;
        pageUrlFormat?: "file" | "directory" | undefined;
        experimentalStaticBuild?: boolean | undefined;
    } | undefined;
    devOptions?: {
        hostname?: string | undefined;
        port?: number | undefined;
        trailingSlash?: "always" | "never" | "ignore" | undefined;
    } | undefined;
    vite?: any;
}>;
/** Turn raw config values into normalized values */
export declare function validateConfig(userConfig: any, root: string): Promise<AstroConfig>;
interface LoadConfigOptions {
    cwd?: string;
    filename?: string;
}
/** Attempt to load an `astro.config.mjs` file */
export declare function loadConfig(options: LoadConfigOptions): Promise<AstroConfig>;
export declare function formatConfigError(err: z.ZodError): string;
export {};
