/**
 * MCP Server - Expose Code Buddy tools via the Model Context Protocol
 *
 * Allows Code Buddy to act as a tool provider for other AI agents
 * (VS Code, Cursor, Claude Desktop, etc.) over stdio transport.
 *
 * Exposed tools (15 total):
 * - read_file: Read file contents
 * - write_file: Write/create a file
 * - edit_file: String replacement editing
 * - bash: Execute shell commands
 * - search_files: Search file contents (ripgrep-based)
 * - list_files: List directory contents
 * - git: Git operations (status, diff, log, add, commit, etc.)
 * - agent_chat: AI-powered chat with tool execution
 * - agent_task: Autonomous task execution
 * - agent_plan: Create execution plan
 * - memory_search: Search semantic memory
 * - memory_save: Save persistent memory
 * - session_list: List recent sessions
 * - session_resume: Resume previous session
 * - web_search: Web search via configured providers
 *
 * Resources (4):
 * - codebuddy://project/context
 * - codebuddy://project/instructions
 * - codebuddy://sessions/latest
 * - codebuddy://memory/all
 *
 * Prompts (5):
 * - code_review, explain_code, generate_tests, refactor, fix_bugs
 */
/**
 * Tool definition metadata for listing purposes.
 */
export interface MCPToolDefinition {
    name: string;
    description: string;
    inputSchema: Record<string, unknown>;
}
/**
 * CodeBuddyMCPServer - MCP server that exposes Code Buddy tools.
 *
 * Usage:
 *   const server = new CodeBuddyMCPServer();
 *   await server.start();  // Blocks on stdio transport
 *   await server.stop();   // Clean shutdown
 */
export declare class CodeBuddyMCPServer {
    private mcpServer;
    private transport;
    private running;
    private textEditor;
    private searchTool;
    private gitTool;
    private bashTool;
    private agent;
    private agentInitPromise;
    constructor();
    /**
     * Lazily initialize the CodeBuddyAgent on first use.
     */
    private ensureAgent;
    /**
     * Register agent intelligence tools, resources, and prompts.
     * Registration modules are lightweight (just Zod schemas + handler stubs).
     * Heavy dependencies (agent, memory, sessions) are lazy-loaded inside handlers.
     */
    private registerAgentLayer;
    /**
     * Get the list of tools exposed by this MCP server.
     */
    static getToolDefinitions(): MCPToolDefinition[];
    /**
     * Lazily initialize tool instances on first use.
     */
    private ensureTools;
    /**
     * Convert a ToolResult to MCP CallToolResult format.
     */
    private formatResult;
    /**
     * Register all Code Buddy tools with the MCP server.
     */
    private registerTools;
    /**
     * Start the MCP server over stdio transport.
     * This method blocks until the transport is closed.
     */
    start(): Promise<void>;
    /**
     * Stop the MCP server and close the transport.
     */
    stop(): Promise<void>;
    /**
     * Whether the server is currently running.
     */
    isRunning(): boolean;
}
