/** * [WHO]: Provides createLSPServerInstance(), LSPServerInstance type * [FROM]: Depends on ./lsp-client, vscode-languageserver-protocol * [TO]: Consumed by ./lsp-server-manager.ts * [HERE]: extensions/builtin/lsp/lsp-server-instance.ts - single LSP server lifecycle with crash recovery */ import type { LspServerConfig, LspServerState } from "./types.js"; export interface LSPServerInstance { readonly name: string; readonly config: LspServerConfig; readonly state: LspServerState; readonly startTime: Date | undefined; readonly lastError: Error | undefined; readonly restartCount: number; start(): Promise; stop(): Promise; restart(): Promise; isHealthy(): boolean; sendRequest(method: string, params: unknown): Promise; sendNotification(method: string, params: unknown): Promise; onNotification(method: string, handler: (params: unknown) => void): void; onRequest(method: string, handler: (params: TParams) => TResult | Promise): void; } export declare function createLSPServerInstance(name: string, config: LspServerConfig): LSPServerInstance;