/**
 * Refactoring Assistant Tool
 *
 * Provides safe, automated refactoring operations including:
 * - Rename (symbol, file)
 * - Extract (function, variable, interface)
 * - Inline (function, variable)
 * - Move (to different file)
 *
 * Inspired by hurry-mode's refactoring capabilities.
 */
import { RefactoringRequest, RefactoringResult } from "./types.js";
import { ASTParser } from "./ast-parser.js";
import { SymbolSearch } from "./symbol-search.js";
/**
 * Refactoring Assistant
 */
export declare class RefactoringAssistant {
    private parser;
    private symbolSearch;
    private vfs;
    constructor(parser?: ASTParser, symbolSearch?: SymbolSearch);
    /**
     * Execute a refactoring operation
     */
    refactor(request: RefactoringRequest): Promise<RefactoringResult>;
    /**
     * Preview a refactoring without applying
     */
    preview(request: RefactoringRequest): Promise<RefactoringResult>;
    /**
     * Rename a symbol across files
     */
    private rename;
    /**
     * Extract selected code into a function
     */
    private extractFunction;
    /**
     * Extract expression into a variable
     */
    private extractVariable;
    /**
     * Extract interface from class
     */
    private extractInterface;
    /**
     * Inline a function (replace calls with body)
     */
    private inlineFunction;
    /**
     * Inline a variable
     */
    private inlineVariable;
    /**
     * Move symbol to a different file
     */
    private moveToFile;
    /**
     * Apply text edits to content
     */
    private applyEdits;
    /**
     * Find variables in code
     */
    private findVariablesInCode;
    /**
     * Get indentation of a line
     */
    private getIndentation;
    /**
     * Find index to insert extracted function
     */
    private findFunctionInsertIndex;
    /**
     * Check if range contains position
     */
    private rangeContains;
    /**
     * Analyze safety of rename operation
     */
    private analyzeRenameSafety;
    /**
     * Create safety analysis
     */
    private createSafetyAnalysis;
    /**
     * Generate preview text
     */
    private generatePreview;
    /**
     * Create error result
     */
    private errorResult;
}
/**
 * Create a refactoring assistant
 */
export declare function createRefactoringAssistant(): RefactoringAssistant;
export declare function getRefactoringAssistant(): RefactoringAssistant;
export declare function resetRefactoringAssistant(): void;
