/**
 * MCP Server Foundation for MapleStory API
 * Implements the core Model Context Protocol server using MCP TypeScript SDK
 */
import { BaseTool } from '../tools/base-tool';
export interface McpServerConfig {
    name?: string;
    version?: string;
    nexonApiKey: string;
    debug?: boolean;
}
export interface ServerInfo {
    name: string;
    version: string;
    capabilities: {
        tools: Record<string, unknown>;
    };
}
export declare class McpServer {
    private server;
    private transport;
    private logger;
    private nexonClient;
    private tools;
    private config;
    private isRunning;
    constructor(config: McpServerConfig);
    private setupHandlers;
    /**
     * Register a tool with the server
     */
    registerTool(tool: BaseTool): void;
    /**
     * Unregister a tool from the server
     */
    unregisterTool(toolName: string): boolean;
    /**
     * Get list of registered tools
     */
    getRegisteredTools(): string[];
    /**
     * Get tool by name
     */
    getTool(name: string): BaseTool | undefined;
    /**
     * Get server information
     */
    getServerInfo(): ServerInfo;
    /**
     * Check if server is running
     */
    isServerRunning(): boolean;
    /**
     * Start the MCP server
     */
    start(): Promise<void>;
    /**
     * Stop the MCP server
     */
    stop(): Promise<void>;
    /**
     * Graceful shutdown with cleanup
     */
    shutdown(): Promise<void>;
    /**
     * Health check for the server
     */
    healthCheck(): Promise<{
        server: string;
        nexonApi: string;
        toolCount: number;
        uptime: string;
    }>;
}
//# sourceMappingURL=mcp-server.d.ts.map