/**
 * 类型声明文件
 */

// 如果找不到模块声明，则添加声明
declare module 'body-parser';

// 补充SSEServerTransport类型声明
declare module '@modelcontextprotocol/sdk/server/sse.js' {
    import { IncomingMessage, ServerResponse } from 'http';

    export class SSEServerTransport {
        constructor(endpoint: string, res: ServerResponse);
        disconnect(): void;
        readonly sessionId: string;
        handlePostMessage(req: IncomingMessage, res: ServerResponse, parsedBody?: any): Promise<void>;
        send(message: any): Promise<void>;
        start(): Promise<void>;
        close(): Promise<void>;
    }
}

// 为了满足MCP Server的Transport接口
declare module '@modelcontextprotocol/sdk/server/mcp.js' {
    export interface Transport {
        start(): Promise<void>;
        send(message: any): Promise<void>;
        close(): Promise<void>;
    }

    export interface McpServerOptions {
        name: string;
        version: string;
    }

    export class McpServer {
        constructor(options: McpServerOptions);
        connect(transport: Transport): Promise<void>;
        tool(name: string, description: string, params: any, handler: (params: any) => Promise<any>): void;
    }
} 