/** * LSP Client Manager Service * * Multi-language client pool (singleton). Manages LSP client lifecycle, * spawning servers on demand and shutting them down after idle timeout. */ import { LSPClient } from './lsp-client.js'; /** * LSP Client Manager — manages a pool of language server clients */ export declare class LSPClientManagerService { private readonly clients; private readonly projectRoot; constructor(projectRoot: string); /** * Get a client for a file, spawning the server if needed. * Returns null if no server is configured for this file type. */ getClientForFile(filePath: string): Promise; /** * Shut down all managed clients */ shutdownAll(): Promise; /** * Get the number of active clients */ getActiveClientCount(): number; /** * Get status of all managed clients */ getStatus(): Array<{ command: string; lastUsed: number; state: string; }>; /** * Update last-used timestamp and reset idle timer */ private touchClient; /** * Reset the idle timeout for a client */ private resetIdleTimer; } export declare function getLSPClientManager(projectRoot?: string): LSPClientManagerService; export declare function resetLSPClientManager(): void; //# sourceMappingURL=lsp-client-manager.service.d.ts.map