import type { Diagnostic } from 'vscode-languageserver-protocol'; import type { LSPServerInfo } from './server.js'; /** * LSP Client wrapper for JSON-RPC communication */ export declare class LSPClient { private connection; private process; private serverInfo; private workspaceRoot; private diagnostics; private initializationOptions; constructor(serverInfo: LSPServerInfo, workspaceRoot: string); /** * Initialize the LSP connection */ initialize(): Promise; /** * Notify the server that a document has been opened */ notifyOpen(filePath: string, content: string, languageId: string): void; /** * Notify the server that a document has changed */ notifyChange(filePath: string, content: string, version: number): void; /** * Wait for diagnostics to be available for a specific file * @param waitForChange If true, waits for diagnostics to change from their initial state */ waitForDiagnostics(filePath: string, timeoutMs?: number, waitForChange?: boolean): Promise; /** * Get hover information for a position */ getHover(filePath: string, line: number, character: number): Promise; /** * Get diagnostics for a specific file */ getDiagnostics(filePath: string): Diagnostic[]; /** * Get all diagnostics from all files */ getAllDiagnostics(): Diagnostic[]; /** * Notify server that a file was closed */ notifyClose(filePath: string): void; /** * Restart the LSP client */ restart(): Promise; /** * Shutdown the connection */ shutdown(): Promise; } //# sourceMappingURL=client.d.ts.map