import type { SourceInfo } from "./source-info.ts"; export type McpExposure = "codemode" | "deferred" | "direct" | "hidden"; interface McpServerConfigBase { exposure?: McpExposure; description?: string; toolExposure?: Record; enabled?: boolean; timeout?: number; } export interface McpStdioServerConfig extends McpServerConfigBase { type?: "stdio"; command: string; args?: string[]; env?: Record; cwd?: string; } export interface McpHttpServerConfig extends McpServerConfigBase { type?: "http"; url: string; headers?: Record; oauth?: McpOAuthConfig; auth?: { provider: string; }; } export type McpServerConfig = McpStdioServerConfig | McpHttpServerConfig; export interface McpServerContribution { name: string; config: McpServerConfig; origin: "package" | "extension"; sourceInfo: SourceInfo; } export interface McpOAuthConfig { clientId?: string; clientSecret?: string; callbackPort?: number; callbackUrl?: string; scope?: string; clientName?: string; authServerMetadataUrl?: string; } export declare function mcpNamespace(server: string): string; export declare function resolveMcpServerUrl(value: string): string; export declare function isLoopbackRedirectUri(value: string): boolean; export declare function getMcpToolExposure(config: McpServerConfig, toolName: string): McpExposure; export declare function validateMcpServerConfig(name: string, raw: unknown): McpServerConfig | string; export {}; //# sourceMappingURL=mcp-servers.d.ts.map