import type Parser from 'tree-sitter'; import type { WorkspaceEdit } from 'vscode-languageserver'; import type { Position, Range, TextDocument } from 'vscode-languageserver-textdocument'; import type { ImportResolver } from '../import-resolver/index.js'; import type { WorkspaceIndex } from '../workspace-index/index.js'; import type { DefinitionProvider } from './DefinitionProvider.js'; import type { ReferencesProvider } from './ReferencesProvider.js'; export interface RenameResult { range: Range | null; placeholder: string; } export declare class RenameProvider { private parser; private workspaceIndex; private importResolver; private referencesProvider; private definitionProvider; constructor(parser: Parser, workspaceIndex: WorkspaceIndex, importResolver: ImportResolver, referencesProvider: ReferencesProvider, definitionProvider: DefinitionProvider); /** * Prepare rename operation - validate that the symbol can be renamed */ prepareRename(document: TextDocument, position: Position): Promise; /** * Provide rename edits for the symbol at the given position */ provideRenameEdits(document: TextDocument, position: Position, newName: string): Promise; /** * Find the node at the given position */ private findNodeAtPosition; /** * Check if a node is renameable and get info about it */ private isRenameable; /** * Validate identifier name */ private isValidIdentifier; /** * Get the range of a node */ private getNodeRange; /** * Update start flow references when renaming a flow */ private updateStartFlowReferences; /** * Update message references when renaming a message */ private updateMessageReferences; } //# sourceMappingURL=RenameProvider.d.ts.map