import { z } from "zod";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { Tool, ToolProp } from "../clients/types";
import { ToolsService } from "./Tools";
import { WebSocket } from "ws";
export type McpServerConfig = {
    name: string;
    version: string;
};
export declare class McpServerService {
    private toolsService;
    server: McpServer | null;
    constructor(toolsService: ToolsService);
    registeredTools: Set<string>;
    private serverConfig;
    createServer(name: string, version: string): this;
    toZodSchema(properties: {
        [key: string]: ToolProp;
    }, required?: string[]): z.ZodObject<any>;
    withTools(tools: Tool[]): this;
    createServerWithAllTools(name: string, version: string): this;
    reset(): Promise<void>;
    runStdioServer(): Promise<void>;
    runWsServer(ws: WebSocket): Promise<void>;
}
