/** * LSP Server Database with installation commands and fallbacks */ export interface LspServerConfig { extensions: string[]; primary: { command: string; args: string[]; verifyCommand?: string; }; alternatives: Array<{ command: string; args: string[]; verifyCommand?: string; }>; } /** * Get the local LSP install directory (~/.config/opencode/hive/lsp) */ export declare function getLspInstallDir(): string; /** * Get language from file extension */ export declare function getLanguageFromPath(filePath: string): string | null; /** * Check if a local install exists for the given language */ export declare function checkLocalInstall(language: string): boolean; /** * Install LSP server with fallbacks */ export declare function ensureLspInstalled(language: string): Promise<{ success: boolean; installed: string | null; error?: string; }>; /** * LSP Status Report */ export interface LspStatus { language: string; installed: boolean; primary: string | null; alternatives: string[]; canInstall: boolean; localInstall?: boolean; } export declare function getLspStatus(filePath?: string): Promise; /** * LSP Manager Class for actual LSP communication */ export declare class LspManager { private connections; /** * Check LSP status and optionally auto-install */ checkAndInstall(filePath: string): Promise<{ language: string; ready: boolean; installed: boolean; message: string; }>; /** * Get available LSP languages */ getAvailableLanguages(): string[]; /** * Get LSP info for a file */ getLspInfo(filePath: string): { language: string; extensions: string[]; primaryCommand: string; alternativeCommands: string[]; } | null; } export declare const lspManager: LspManager;