import { McpServer, ToolCallback } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
import { Protocol } from "../../types/services/protocol.js";
import { ExecutionContext, MCPExecutionContext } from "../../types/services/context.js";
import { AgentSkill } from "../../types/index.js";
import { Implementation } from "@modelcontextprotocol/sdk/types.js";
import { ServerOptions } from "@modelcontextprotocol/sdk/server/index.js";
import { AgentEngine } from "../../types/services/context.js";
import { ZodRawShape } from "zod";
import { MCPTool, MCPServiceInterface } from "../../types/services/mcp/service.js";
export declare class MCPService<T extends StreamableHTTPServerTransport = StreamableHTTPServerTransport> extends McpServer implements MCPServiceInterface {
    readonly name: string;
    readonly protocol: Protocol.MCP;
    readonly engine: AgentEngine;
    constructor({ serverInfo, engine, options, skills, }: {
        serverInfo: Implementation;
        engine: AgentEngine;
        skills?: AgentSkill[];
        options?: ServerOptions;
    });
    initialize(skills: AgentSkill[]): void;
    execute({ executionContext, }: {
        executionContext: ExecutionContext<MCPExecutionContext>;
        engine: AgentEngine;
    }): Promise<void>;
    stop(): Promise<void>;
    static mcpFactory<Args extends MCPExecutionContext = MCPExecutionContext>(engine: AgentEngine): (args: Args["params"]) => Promise<string>;
    static skillToTool<Args extends ZodRawShape = ZodRawShape>(skill: AgentSkill, argShape: Args, agentHandler: (...args: Parameters<ToolCallback<Args>>) => Promise<string>): MCPTool<Args>;
}
//# sourceMappingURL=service.d.ts.map