import { z } from "zod";
import { Configuration } from "webpack";
/**
 * xmcp Config schema
 */
export declare const configSchema: z.ZodObject<{
    stdio: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
        debug: z.ZodDefault<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        debug: boolean;
    }, {
        debug?: boolean | undefined;
    }>]>>>;
    http: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodOptional<z.ZodDefault<z.ZodObject<{
        port: z.ZodOptional<z.ZodNumber>;
        host: z.ZodOptional<z.ZodString>;
        bodySizeLimit: z.ZodOptional<z.ZodNumber>;
        debug: z.ZodOptional<z.ZodBoolean>;
        endpoint: z.ZodOptional<z.ZodString>;
        cors: z.ZodOptional<z.ZodObject<{
            origin: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">, z.ZodBoolean]>>;
            methods: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
            allowedHeaders: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
            exposedHeaders: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
            credentials: z.ZodOptional<z.ZodBoolean>;
            maxAge: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            origin?: string | boolean | string[] | undefined;
            methods?: string | string[] | undefined;
            allowedHeaders?: string | string[] | undefined;
            exposedHeaders?: string | string[] | undefined;
            credentials?: boolean | undefined;
            maxAge?: number | undefined;
        }, {
            origin?: string | boolean | string[] | undefined;
            methods?: string | string[] | undefined;
            allowedHeaders?: string | string[] | undefined;
            exposedHeaders?: string | string[] | undefined;
            credentials?: boolean | undefined;
            maxAge?: number | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        port?: number | undefined;
        host?: string | undefined;
        bodySizeLimit?: number | undefined;
        debug?: boolean | undefined;
        endpoint?: string | undefined;
        cors?: {
            origin?: string | boolean | string[] | undefined;
            methods?: string | string[] | undefined;
            allowedHeaders?: string | string[] | undefined;
            exposedHeaders?: string | string[] | undefined;
            credentials?: boolean | undefined;
            maxAge?: number | undefined;
        } | undefined;
    }, {
        port?: number | undefined;
        host?: string | undefined;
        bodySizeLimit?: number | undefined;
        debug?: boolean | undefined;
        endpoint?: string | undefined;
        cors?: {
            origin?: string | boolean | string[] | undefined;
            methods?: string | string[] | undefined;
            allowedHeaders?: string | string[] | undefined;
            exposedHeaders?: string | string[] | undefined;
            credentials?: boolean | undefined;
            maxAge?: number | undefined;
        } | undefined;
    }>>>]>>;
    experimental: z.ZodOptional<z.ZodObject<{
        oauth: z.ZodOptional<z.ZodObject<{
            endpoints: z.ZodObject<{
                authorizationUrl: z.ZodString;
                tokenUrl: z.ZodString;
                revocationUrl: z.ZodOptional<z.ZodString>;
                userInfoUrl: z.ZodOptional<z.ZodString>;
                registerUrl: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                authorizationUrl: string;
                tokenUrl: string;
                registerUrl: string;
                revocationUrl?: string | undefined;
                userInfoUrl?: string | undefined;
            }, {
                authorizationUrl: string;
                tokenUrl: string;
                registerUrl: string;
                revocationUrl?: string | undefined;
                userInfoUrl?: string | undefined;
            }>;
            issuerUrl: z.ZodString;
            baseUrl: z.ZodString;
            serviceDocumentationUrl: z.ZodOptional<z.ZodString>;
            pathPrefix: z.ZodDefault<z.ZodString>;
            defaultScopes: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
        }, "strip", z.ZodTypeAny, {
            endpoints: {
                authorizationUrl: string;
                tokenUrl: string;
                registerUrl: string;
                revocationUrl?: string | undefined;
                userInfoUrl?: string | undefined;
            };
            issuerUrl: string;
            baseUrl: string;
            pathPrefix: string;
            defaultScopes: string[];
            serviceDocumentationUrl?: string | undefined;
        }, {
            endpoints: {
                authorizationUrl: string;
                tokenUrl: string;
                registerUrl: string;
                revocationUrl?: string | undefined;
                userInfoUrl?: string | undefined;
            };
            issuerUrl: string;
            baseUrl: string;
            serviceDocumentationUrl?: string | undefined;
            pathPrefix?: string | undefined;
            defaultScopes?: string[] | undefined;
        }>>;
        adapter: z.ZodOptional<z.ZodEnum<["express", "nextjs"]>>;
    }, "strip", z.ZodTypeAny, {
        oauth?: {
            endpoints: {
                authorizationUrl: string;
                tokenUrl: string;
                registerUrl: string;
                revocationUrl?: string | undefined;
                userInfoUrl?: string | undefined;
            };
            issuerUrl: string;
            baseUrl: string;
            pathPrefix: string;
            defaultScopes: string[];
            serviceDocumentationUrl?: string | undefined;
        } | undefined;
        adapter?: "express" | "nextjs" | undefined;
    }, {
        oauth?: {
            endpoints: {
                authorizationUrl: string;
                tokenUrl: string;
                registerUrl: string;
                revocationUrl?: string | undefined;
                userInfoUrl?: string | undefined;
            };
            issuerUrl: string;
            baseUrl: string;
            serviceDocumentationUrl?: string | undefined;
            pathPrefix?: string | undefined;
            defaultScopes?: string[] | undefined;
        } | undefined;
        adapter?: "express" | "nextjs" | undefined;
    }>>;
    paths: z.ZodOptional<z.ZodObject<{
        tools: z.ZodDefault<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        tools: string;
    }, {
        tools?: string | undefined;
    }>>;
    webpack: z.ZodOptional<z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodAny>>>;
    identity: z.ZodOptional<z.ZodOptional<z.ZodObject<{
        enabled: z.ZodBoolean;
        environment: z.ZodOptional<z.ZodEnum<["development", "production"]>>;
        devIdentityPath: z.ZodOptional<z.ZodString>;
        privacyMode: z.ZodOptional<z.ZodBoolean>;
        debug: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        enabled: boolean;
        debug?: boolean | undefined;
        environment?: "development" | "production" | undefined;
        devIdentityPath?: string | undefined;
        privacyMode?: boolean | undefined;
    }, {
        enabled: boolean;
        debug?: boolean | undefined;
        environment?: "development" | "production" | undefined;
        devIdentityPath?: string | undefined;
        privacyMode?: boolean | undefined;
    }>>>;
}, "strip", z.ZodTypeAny, {
    stdio?: boolean | {
        debug: boolean;
    } | undefined;
    http?: boolean | {
        port?: number | undefined;
        host?: string | undefined;
        bodySizeLimit?: number | undefined;
        debug?: boolean | undefined;
        endpoint?: string | undefined;
        cors?: {
            origin?: string | boolean | string[] | undefined;
            methods?: string | string[] | undefined;
            allowedHeaders?: string | string[] | undefined;
            exposedHeaders?: string | string[] | undefined;
            credentials?: boolean | undefined;
            maxAge?: number | undefined;
        } | undefined;
    } | undefined;
    experimental?: {
        oauth?: {
            endpoints: {
                authorizationUrl: string;
                tokenUrl: string;
                registerUrl: string;
                revocationUrl?: string | undefined;
                userInfoUrl?: string | undefined;
            };
            issuerUrl: string;
            baseUrl: string;
            pathPrefix: string;
            defaultScopes: string[];
            serviceDocumentationUrl?: string | undefined;
        } | undefined;
        adapter?: "express" | "nextjs" | undefined;
    } | undefined;
    paths?: {
        tools: string;
    } | undefined;
    webpack?: ((args_0: any, ...args: unknown[]) => any) | undefined;
    identity?: {
        enabled: boolean;
        debug?: boolean | undefined;
        environment?: "development" | "production" | undefined;
        devIdentityPath?: string | undefined;
        privacyMode?: boolean | undefined;
    } | undefined;
}, {
    stdio?: boolean | {
        debug?: boolean | undefined;
    } | undefined;
    http?: boolean | {
        port?: number | undefined;
        host?: string | undefined;
        bodySizeLimit?: number | undefined;
        debug?: boolean | undefined;
        endpoint?: string | undefined;
        cors?: {
            origin?: string | boolean | string[] | undefined;
            methods?: string | string[] | undefined;
            allowedHeaders?: string | string[] | undefined;
            exposedHeaders?: string | string[] | undefined;
            credentials?: boolean | undefined;
            maxAge?: number | undefined;
        } | undefined;
    } | undefined;
    experimental?: {
        oauth?: {
            endpoints: {
                authorizationUrl: string;
                tokenUrl: string;
                registerUrl: string;
                revocationUrl?: string | undefined;
                userInfoUrl?: string | undefined;
            };
            issuerUrl: string;
            baseUrl: string;
            serviceDocumentationUrl?: string | undefined;
            pathPrefix?: string | undefined;
            defaultScopes?: string[] | undefined;
        } | undefined;
        adapter?: "express" | "nextjs" | undefined;
    } | undefined;
    paths?: {
        tools?: string | undefined;
    } | undefined;
    webpack?: ((args_0: any, ...args: unknown[]) => any) | undefined;
    identity?: {
        enabled: boolean;
        debug?: boolean | undefined;
        environment?: "development" | "production" | undefined;
        devIdentityPath?: string | undefined;
        privacyMode?: boolean | undefined;
    } | undefined;
}>;
type WebpackConfig = {
    webpack?: (config: Configuration) => Configuration;
};
export type XmcpConfigInputSchema = Omit<z.input<typeof configSchema>, "webpack"> & WebpackConfig;
export type XmcpConfigOuputSchema = Omit<z.output<typeof configSchema>, "webpack"> & WebpackConfig;
export {};
