import { z } from "zod";
export declare const ServerConfigSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
    type: z.ZodLiteral<"stdio">;
    config: z.ZodObject<{
        command: z.ZodString;
        args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        cwd: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        command: string;
        args?: string[] | undefined;
        env?: Record<string, string> | undefined;
        cwd?: string | undefined;
    }, {
        command: string;
        args?: string[] | undefined;
        env?: Record<string, string> | undefined;
        cwd?: string | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    type: "stdio";
    config: {
        command: string;
        args?: string[] | undefined;
        env?: Record<string, string> | undefined;
        cwd?: string | undefined;
    };
}, {
    type: "stdio";
    config: {
        command: string;
        args?: string[] | undefined;
        env?: Record<string, string> | undefined;
        cwd?: string | undefined;
    };
}>, z.ZodObject<{
    type: z.ZodLiteral<"http">;
    config: z.ZodObject<{
        url: z.ZodUnion<[z.ZodString, z.ZodString]>;
        options: z.ZodOptional<z.ZodObject<{
            /**
             * Session ID for the connection. This is used to identify the session on the server.
             * When not provided and connecting to a server that supports session IDs, the server will generate a new session ID.
             */
            sessionId: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            sessionId?: string | undefined;
        }, {
            sessionId?: string | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        url: string;
        options?: {
            sessionId?: string | undefined;
        } | undefined;
    }, {
        url: string;
        options?: {
            sessionId?: string | undefined;
        } | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    type: "http";
    config: {
        url: string;
        options?: {
            sessionId?: string | undefined;
        } | undefined;
    };
}, {
    type: "http";
    config: {
        url: string;
        options?: {
            sessionId?: string | undefined;
        } | undefined;
    };
}>, z.ZodObject<{
    type: z.ZodLiteral<"sse">;
    config: z.ZodObject<{
        url: z.ZodUnion<[z.ZodString, z.ZodString]>;
        options: z.ZodOptional<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
    }, "strip", z.ZodTypeAny, {
        url: string;
        options?: {} | undefined;
    }, {
        url: string;
        options?: {} | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    type: "sse";
    config: {
        url: string;
        options?: {} | undefined;
    };
}, {
    type: "sse";
    config: {
        url: string;
        options?: {} | undefined;
    };
}>]>;
export type ServerConfig = z.infer<typeof ServerConfigSchema>;
//# sourceMappingURL=types.d.ts.map