import type { CompletionItem, Diagnostic, DocumentSymbol, Hover, Location, Position } from './lsp-protocol.js'; import type { PlatformIndex } from './platform-index.js'; import type { VirtualDocument } from './vfs.js'; export declare class RustAnalysis { private readonly parser; private readonly platformIndex; private readonly cache; private constructor(); static create(options: { parserWasmUrl: string; grammarWasmUrl: string; platformIndex: PlatformIndex; }): Promise; diagnostics(document: VirtualDocument): Diagnostic[]; completions(document: VirtualDocument, position: Position, workspace: readonly VirtualDocument[]): CompletionItem[]; hover(document: VirtualDocument, position: Position, workspace: readonly VirtualDocument[]): Hover | null; documentSymbols(document: VirtualDocument): DocumentSymbol[]; definition(document: VirtualDocument, position: Position, workspace: readonly VirtualDocument[]): Location | null; invalidate(uri: string): void; dispose(): void; private workspaceSymbols; private analyze; } //# sourceMappingURL=rust-analysis.d.ts.map