/**
 * @license
 * Copyright (c) 2025 Handsoncode. All rights reserved.
 */
import { SimpleCellAddress } from '../Cell';
import { CellAddress } from '../parser';
import { ColumnAddress } from '../parser/ColumnAddress';
import { RowAddress } from '../parser/RowAddress';
import { Transformer } from './Transformer';
/**
 * Transformer that reassigns references from a merged sheet into the surviving sheet.
 */
export declare class RenameSheetTransformer extends Transformer {
    readonly sheetIdToKeep: number;
    readonly sheetBeingMerged: number;
    constructor(sheetIdToKeep: number, sheetBeingMerged: number);
    /**
     * Returns id of sheet that survives merge operation.
     *
     * @returns {number} sheet identifier.
     */
    get sheet(): number;
    /**
     * Sheet merge cannot be undone because original sheet id is lost.
     *
     * @returns {boolean} always true to indicate transformation irreversibility.
     */
    isIrreversible(): boolean;
    /**
     * Updates cell address sheet when it points to merged sheet.
     *
     * @param {T} dependencyAddress - dependency address needing sheet update.
     * @param {SimpleCellAddress} _formulaAddress - location of formula (unused but required by base class).
     * @returns {T | false} updated address or false when nothing changes.
     */
    protected transformCellAddress<T extends CellAddress>(dependencyAddress: T, _formulaAddress: SimpleCellAddress): T | false;
    /**
     * Updates sheet for both ends of cell range.
     *
     * @param {CellAddress} start - start address of range.
     * @param {CellAddress} end - end address of range.
     * @param {SimpleCellAddress} _formulaAddress - formula location (unused).
     * @returns {[CellAddress, CellAddress] | false} updated range tuple or false when unchanged.
     */
    protected transformCellRange(start: CellAddress, end: CellAddress, _formulaAddress: SimpleCellAddress): [CellAddress, CellAddress] | false;
    /**
     * Updates sheet for both ends of column range.
     *
     * @param {ColumnAddress} start - beginning column of range.
     * @param {ColumnAddress} end - ending column of range.
     * @param {SimpleCellAddress} _formulaAddress - formula location (unused).
     * @returns {[ColumnAddress, ColumnAddress] | false} updated column range or false.
     */
    protected transformColumnRange(start: ColumnAddress, end: ColumnAddress, _formulaAddress: SimpleCellAddress): [ColumnAddress, ColumnAddress] | false;
    /**
     * Updates sheet for both ends of row range.
     *
     * @param {RowAddress} start - beginning row address.
     * @param {RowAddress} end - ending row address.
     * @param {SimpleCellAddress} _formulaAddress - formula location (unused).
     * @returns {[RowAddress, RowAddress] | false} updated row range or false.
     */
    protected transformRowRange(start: RowAddress, end: RowAddress, _formulaAddress: SimpleCellAddress): [RowAddress, RowAddress] | false;
    /**
     * Node addresses are already absolute, so no change is needed.
     *
     * @param {SimpleCellAddress} address - node address to inspect.
     * @returns {SimpleCellAddress} original address unchanged.
     */
    protected fixNodeAddress(address: SimpleCellAddress): SimpleCellAddress;
    /**
     * Updates sheet identifier for both range ends if needed.
     *
     * @param {T} start - range start address.
     * @param {T} end - range end address.
     * @returns {[T, T] | false} tuple with updated addresses or false when no updates happen.
     */
    private transformRange;
    /**
     * Replaces sheet id in address when it points to merged sheet.
     *
     * @param {T} address - address to update.
     * @returns {T | false} address with new sheet id or false when no change occurs.
     */
    private updateSheetInAddress;
}
