import { ToolRegistry } from "./tool-registry.js";
import { ResourceRegistry } from "./resource-registry.js";
import { PromptRegistry } from "./prompt-registry.js";
import { ContextManager } from "./context-manager.js";
import { MetricsCollector } from "../utils/metrics.js";
import { TransportConfig } from "../transports/index.js";
import type { ServerCapabilities } from "../types/index.js";
export interface ServerConfig {
    name?: string;
    version?: string;
    transports?: TransportConfig[];
    capabilities?: Partial<ServerCapabilities>;
}
export declare class UltimateMCPServer {
    private server;
    private logger;
    private toolRegistry;
    private resourceRegistry;
    private promptRegistry;
    private contextManager;
    private metrics;
    private transportManager?;
    private capabilities;
    private config;
    constructor(config?: ServerConfig);
    private setupHandlers;
    start(): Promise<void>;
    stop(): Promise<void>;
    registerTool(tool: any): void;
    registerPrompt(prompt: any): void;
    registerResource(resource: any): void;
    getToolRegistry(): ToolRegistry;
    getResourceRegistry(): ResourceRegistry;
    getPromptRegistry(): PromptRegistry;
    getContextManager(): ContextManager;
    getMetrics(): MetricsCollector;
    getTransportStatus(): Record<string, any> | null;
    static createForPlatform(platform: string): UltimateMCPServer;
}
//# sourceMappingURL=server.d.ts.map