import type { EventBus } from '@wrongstack/core/kernel'; import type { Logger } from '@wrongstack/core/types'; import { LSPServer } from './server/lsp-server.js'; import type { ReopenableTracker } from './shared-types.js'; import type { AutoStartMode, PlugLSPConfig } from './types.js'; export interface RegistryContext { cwd: string; log: Logger; events: EventBus; } export declare class LSPRegistry { private readonly cfg; private readonly tracker; private readonly ctx; private readonly servers; private readonly languageIndex; private readonly reconnectAttempts; private readonly reconnectTimers; private cwd; private autoStart; constructor(cfg: PlugLSPConfig, tracker: ReopenableTracker, ctx: RegistryContext); bind(cwd: string, autoStart?: AutoStartMode): Promise; shutdown(): Promise; findForPath(filePath: string, signal?: AbortSignal): Promise; get(name: string): LSPServer | null; list(): readonly LSPServer[]; start(name: string): Promise; stop(name: string): Promise; restart(name: string): Promise; private cancelReconnect; private rebuildServers; private getOrThrow; private scheduleReconnect; } declare function detectProjectLanguages(root: string): Promise>; declare function startServerSafely(server: LSPServer, log: Logger): Promise; /** Direct-module test seam; not re-exported by the package barrel. */ export declare const registryCoverage: { detectProjectLanguages: typeof detectProjectLanguages; startServerSafely: typeof startServerSafely; }; export {}; //# sourceMappingURL=registry.d.ts.map