import type { Payments } from '../../payments.js'; import type { McpToolConfig, McpResourceConfig, McpPromptConfig, McpRegistrationOptions, ToolHandler, ResourceHandler, PromptHandler, McpServerConfig, McpServerResult } from '../types/server.types.js'; /** * Server manager state. */ export declare enum ServerState { Idle = "idle", Starting = "starting", Running = "running", Stopping = "stopping" } /** * Manages the complete MCP server lifecycle. */ export declare class McpServerManager { private state; private payments; private tools; private resources; private prompts; private mcpServer; private expressApp; private httpServer; private sessionManager; private config; private log; private paywallDecorator; constructor(payments: Payments); /** * Get current server state. */ getState(): ServerState; /** * Register a tool. * Must be called before start(). */ registerTool(name: string, config: McpToolConfig, handler: ToolHandler, options?: McpRegistrationOptions): void; /** * Register a resource. * Must be called before start(). */ registerResource(name: string, uriOrTemplate: string, config: McpResourceConfig, handler: ResourceHandler, options?: McpRegistrationOptions): void; /** * Register a prompt. * Must be called before start(). */ registerPrompt(name: string, config: McpPromptConfig, handler: PromptHandler, options?: McpRegistrationOptions): void; /** * Start the MCP server. */ start(config: McpServerConfig): Promise; /** * Stop the server gracefully. */ stop(): Promise; /** * Register all tools, resources, and prompts with paywall protection. */ private registerHandlersWithPaywall; /** * Log startup message (only if onLog callback provided). */ private logStartupMessage; } /** * Create a new server manager. */ export declare function createServerManager(payments: Payments): McpServerManager; //# sourceMappingURL=server-manager.d.ts.map