export interface LSPServerConfig { id: string; name: string; /** e.g. "typescript", "python", "rust" */ language: string; /** File extensions this server handles, e.g. [".ts", ".tsx", ".js"] */ fileTypes: string[]; /** Executable command, e.g. "typescript-language-server" */ command: string; /** CLI arguments, e.g. ["--stdio"] */ args: string[]; /** Extra environment variables */ env?: Record; enabled: boolean; } export interface LSPPosition { line: number; character: number; } export interface LSPRange { start: LSPPosition; end: LSPPosition; } export interface LSPDiagnostic { range: LSPRange; severity?: 1 | 2 | 3 | 4; code?: string | number; source?: string; message: string; relatedInformation?: Array<{ location: { uri: string; range: LSPRange; }; message: string; }>; } export interface LSPLocation { uri: string; range: LSPRange; } export interface LSPHoverResult { contents: string | { kind: string; value: string; } | Array<{ language?: string; value: string; }>; range?: LSPRange; } export interface ILSPServerStore { list(): Promise; listAll(): Promise; get(id: string): Promise; save(config: LSPServerConfig): Promise; delete(id: string): Promise; setEnabled(id: string, enabled: boolean): Promise; } //# sourceMappingURL=entities.d.ts.map