import lsp from 'vscode-languageserver'; import type { CstNode } from 'chevrotain'; import type { SymbolTable } from '../java/symbol-table.js'; export interface SignatureChange { /** New method name (or same if unchanged) */ newName?: string; /** New parameter list. Use existing param names to keep, omit to remove, add new ones */ newParameters: { type: string; name: string; }[]; /** New return type (or undefined to keep) */ newReturnType?: string; } /** * Provide advanced refactoring code actions. */ export declare function provideRefactoringActions(cst: CstNode, table: SymbolTable, text: string, uri: string, range: lsp.Range): lsp.CodeAction[]; /** * Create a "Move Class" refactoring action. * When triggered on a class declaration, generates edits to: * 1. Update the package declaration in the source file * 2. Update all import statements across workspace files that reference this class */ export declare function createMoveClassAction(table: SymbolTable, text: string, uri: string, range: lsp.Range, newPackage: string, workspaceFiles?: Map): lsp.CodeAction | null; /** * Create a "Change Method Signature" refactoring action. * Updates the method declaration and all call sites across workspace. */ export declare function createChangeSignatureAction(table: SymbolTable, text: string, uri: string, range: lsp.Range, change: SignatureChange, workspaceFiles?: Map): lsp.CodeAction | null; //# sourceMappingURL=refactoring.d.ts.map