import type { ExtensionFactory } from "@earendil-works/pi-coding-agent"; export type McpServerLifecycle = "lazy" | "eager" | "keep-alive"; export type McpServerAuth = "oauth" | "bearer" | false; export interface McpOAuthConfig { grantType?: "authorization_code" | "client_credentials"; clientId?: string; clientSecret?: string; scope?: string; } export interface McpServerEntry { command?: string; args?: string[]; env?: Record; cwd?: string; url?: string; headers?: Record; auth?: McpServerAuth; bearerToken?: string; bearerTokenEnv?: string; oauth?: McpOAuthConfig | false; lifecycle?: McpServerLifecycle; idleTimeout?: number; exposeResources?: boolean; directTools?: boolean | string[]; excludeTools?: string[]; debug?: boolean; } export interface McpSettings { toolPrefix?: "server" | "none" | "short"; idleTimeout?: number; directTools?: boolean; disableProxyTool?: boolean; autoAuth?: boolean; authRequiredMessage?: string; sampling?: boolean; samplingAutoApprove?: boolean; } export interface McpConfig { mcpServers: Record; imports?: Array<"cursor" | "claude-code" | "claude-desktop" | "codex" | "windsurf" | "vscode">; settings?: McpSettings; } export interface McpAdapterOptions { configPath?: string; config?: McpConfig; } export declare function createMcpAdapter(options?: McpAdapterOptions): ExtensionFactory; declare const mcpAdapter: ExtensionFactory; export default mcpAdapter;