import lsp from 'vscode-languageserver'; import type { CstNode } from 'chevrotain'; import type { SymbolTable } from '../java/symbol-table.js'; /** * Go to definition: find the declaration of the symbol under the cursor. */ export declare function provideDefinition(cst: CstNode, table: SymbolTable, uri: string, line: number, character: number): lsp.Location | null; /** * Find all references to the symbol under the cursor within the file. * If searchName is provided, find all references to that name (used for cross-file search). */ export declare function provideReferences(cst: CstNode, table: SymbolTable, uri: string, line: number, character: number, searchName?: string): lsp.Location[]; /** * Highlight all occurrences of the symbol under the cursor. */ export declare function provideDocumentHighlight(cst: CstNode, table: SymbolTable, line: number, character: number): lsp.DocumentHighlight[]; /** * Rename the symbol under the cursor across the file. */ export declare function provideRename(cst: CstNode, table: SymbolTable, uri: string, line: number, character: number, newName: string): lsp.WorkspaceEdit | null; /** * Prepare rename: return the range of the symbol that would be renamed. */ export declare function providePrepareRename(cst: CstNode, table: SymbolTable, line: number, character: number): lsp.Range | null; import type { WorkspaceIndex } from '../project/workspace-index.js'; /** * Go to implementation: find classes implementing an interface or overriding a method. * Searches across the workspace index for types that extend/implement the symbol under cursor. */ export declare function provideImplementation(cst: CstNode, table: SymbolTable, uri: string, line: number, character: number, workspaceIndex: WorkspaceIndex): lsp.Location[]; /** * Go to type definition: jump to the type declaration of a variable/field/parameter. */ export declare function provideTypeDefinition(cst: CstNode, table: SymbolTable, uri: string, line: number, character: number, workspaceIndex: WorkspaceIndex): lsp.Location | null; //# sourceMappingURL=navigation.d.ts.map