import { z } from "zod"; export declare const MCP_SERVER_SCHEMA_VERSION = "1.0.0"; /** * Discriminator for MCP server transport: local process or remote HTTP. */ export declare const MCPServerTypeSchema: z.ZodEnum<{ local: "local"; remote: "remote"; }>; export type MCPServerType = z.infer; /** * Configuration for a locally-running MCP server. The `command` array is * executed as a child process (e.g. `["npx", "-y", "pkg"]`). */ export declare const LocalMCPServerSchema: z.ZodObject<{ type: z.ZodLiteral<"local">; command: z.ZodArray; environment: z.ZodOptional>; enabled: z.ZodDefault>; timeout: z.ZodOptional; }, z.core.$strict>; export type LocalMCPServer = z.infer; /** Lenient variant that strips unknown fields instead of rejecting them. */ export declare const LocalMCPServerSchemaLenient: z.ZodObject<{ type: z.ZodLiteral<"local">; command: z.ZodArray; environment: z.ZodOptional>; enabled: z.ZodDefault>; timeout: z.ZodOptional; }, z.core.$strip>; export type LocalMCPServerLenient = z.infer; /** * Configuration for a remote MCP server accessed via HTTP. The `url` * must be a valid HTTP(S) endpoint. */ export declare const RemoteMCPServerSchema: z.ZodObject<{ type: z.ZodLiteral<"remote">; url: z.ZodString; headers: z.ZodOptional>; oauth: z.ZodOptional; }, z.core.$strict>>; enabled: z.ZodDefault>; timeout: z.ZodOptional; }, z.core.$strict>; export type RemoteMCPServer = z.infer; /** Lenient variant that strips unknown fields instead of rejecting them. */ export declare const RemoteMCPServerSchemaLenient: z.ZodObject<{ type: z.ZodLiteral<"remote">; url: z.ZodString; headers: z.ZodOptional>; oauth: z.ZodOptional; }, z.core.$strip>>; enabled: z.ZodDefault>; timeout: z.ZodOptional; }, z.core.$strip>; export type RemoteMCPServerLenient = z.infer; /** * A single MCP server entry: either a local process or remote endpoint. * Discriminated on the `type` field. */ export declare const MCPServerConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"local">; command: z.ZodArray; environment: z.ZodOptional>; enabled: z.ZodDefault>; timeout: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"remote">; url: z.ZodString; headers: z.ZodOptional>; oauth: z.ZodOptional; }, z.core.$strict>>; enabled: z.ZodDefault>; timeout: z.ZodOptional; }, z.core.$strict>], "type">; export type MCPServerConfig = z.infer; /** Lenient variant that strips unknown fields instead of rejecting them. */ export declare const MCPServerConfigSchemaLenient: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"local">; command: z.ZodArray; environment: z.ZodOptional>; enabled: z.ZodDefault>; timeout: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"remote">; url: z.ZodString; headers: z.ZodOptional>; oauth: z.ZodOptional; }, z.core.$strip>>; enabled: z.ZodDefault>; timeout: z.ZodOptional; }, z.core.$strip>], "type">; export type MCPServerConfigLenient = z.infer; /** * The `mcp` section of opencode.json: a mapping of server names to their * configurations. */ export declare const MCPServerRegistrySchema: z.ZodRecord; command: z.ZodArray; environment: z.ZodOptional>; enabled: z.ZodDefault>; timeout: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"remote">; url: z.ZodString; headers: z.ZodOptional>; oauth: z.ZodOptional; }, z.core.$strict>>; enabled: z.ZodDefault>; timeout: z.ZodOptional; }, z.core.$strict>], "type">>; export type MCPServerRegistry = z.infer; //# sourceMappingURL=mcp-server.schema.d.ts.map