import { type ServerDefinition } from "./types.ts"; import type { McpServerManager } from "./server-manager.ts"; import { hasPendingAuth } from "./mcp-auth-flow.ts"; export type ReconnectCallback = (serverName: string) => void; export type ReconnectFailureCallback = (serverName: string, error: unknown) => void; export declare class McpLifecycleManager { private readonly manager; private readonly hasPendingAuthForServer; private keepAliveServers; private allServers; private serverSettings; private globalIdleTimeout; private healthCheckInterval; private onReconnect; private onReconnectFailure; private onIdleShutdown; private activeHealthCheck; private shutdownPromise; private stopped; private healthSignal; private removeHealthAbortListener; constructor(manager: McpServerManager, hasPendingAuthForServer?: typeof hasPendingAuth); setReconnectCallback(callback: ReconnectCallback): void; setReconnectFailureCallback(callback: ReconnectFailureCallback): void; markKeepAlive(name: string, definition: ServerDefinition): void; registerServer(name: string, definition: ServerDefinition, settings?: { idleTimeout?: number; }): void; setGlobalIdleTimeout(minutes: number): void; setIdleShutdownCallback(callback: (serverName: string) => void): void; startHealthChecks(signalOrInterval?: AbortSignal | number, maybeIntervalMs?: number): void; private checkConnections; private getIdleTimeout; gracefulShutdown(): Promise; private shutdownOnce; }