/**
 * MCP Tool Server for SQL Agent
 * This module handles tool discovery and registration for MCP protocol
 */
import { RateLimiterOptions } from '../utils/rate-limiter';
export interface McpServerInfo {
    name: string;
    version: string;
    description: string;
}
export interface McpToolsListResponse {
    tools: Array<{
        name: string;
        description: string;
        inputSchema: Record<string, unknown>;
    }>;
}
export declare class SqlAgentMcpServer {
    private handler;
    private rateLimiter?;
    private cleanupInterval?;
    constructor(rateLimiterOptions?: RateLimiterOptions);
    /**
     * Get server information
     */
    getServerInfo(): McpServerInfo;
    /**
     * List available tools (for MCP discovery)
     */
    listTools(): McpToolsListResponse;
    /**
     * Handle incoming MCP requests
     */
    handleRequest(request: unknown): Promise<unknown>;
    /**
     * Start the MCP server (stdio mode)
     */
    start(): Promise<void>;
    /**
     * Close the server and cleanup
     */
    close(): Promise<void>;
}
export { SQL_AGENT_TOOLS } from './tool-definition';
export { McpToolHandler } from './tool-handler';
export type { McpToolRequest, McpToolResponse } from './tool-handler';
//# sourceMappingURL=index.d.ts.map