import { type PlatformIndex } from './platform-index.js'; import { RustAnalysis } from './rust-analysis.js'; export interface RustLspServerOptions { postMessage: (message: unknown) => void; createAnalysis: (index: PlatformIndex) => Promise; diagnosticDebounceMs?: number; requestTimeoutMs?: number; } export declare const MAX_PENDING_LSP_REQUESTS = 256; export declare class RustLspServer { private readonly options; private vfs; private analysis; private initialized; private shuttingDown; private disposed; private readonly requestStates; private readonly diagnosticTimers; private readonly diagnosticGenerations; constructor(options: RustLspServerOptions); handle(raw: unknown): Promise; /** * Observes a worker message before it enters the serialized dispatch queue. * Request state is bounded, and unknown cancellation ids are never retained. */ observeIncoming(raw: unknown): boolean; /** Backwards-compatible immediate cancellation hook for direct transports. */ handleImmediate(raw: unknown): boolean; private cancelRequest; dispose(): void; private handleRequest; private initialize; private dispatchAnalysisRequest; private handleNotification; private scheduleDiagnostics; private cancelDiagnostics; private publishDiagnostics; private requireVfs; private requireAnalysis; private sendResult; private sendError; } //# sourceMappingURL=rust-lsp-server.d.ts.map