import { type CompiledFormula } from '@bilig/formula';
import type { CompiledPlanRecord, RuntimeDirectScalarDescriptor } from '../runtime-state.js';
import type { FormulaBindingSheetIndex } from './formula-binding-sheet-index.js';
import type { BindPreparedFormulaOptions, CreateEngineFormulaBindingServiceArgs, FormulaOwnerPosition } from './formula-binding-service-types.js';
export declare function createFormulaBindingSheetRenameHandler(args: {
    readonly serviceArgs: CreateEngineFormulaBindingServiceArgs;
    readonly formulaSheetIndex: FormulaBindingSheetIndex;
    readonly rangeDependenciesHaveNoFormulaMembers: (rangeDependencies: Uint32Array) => boolean;
    readonly untrackFormulaSheetIndexes: (cellIndex: number, ownerSheetName: string | undefined, compiled: Pick<CompiledFormula, 'deps'> | undefined) => void;
    readonly trackFormulaSheetIndexes: (cellIndex: number, ownerSheetName: string, compiled: Pick<CompiledFormula, 'deps'>) => void;
    readonly canRetainUnmanagedCompiledPlan: (existingPlanId: number, compiled: CompiledFormula, directScalar: RuntimeDirectScalarDescriptor | undefined) => boolean;
    readonly makeUnmanagedCompiledPlan: (source: string, compiled: CompiledFormula, templateId: number | undefined) => CompiledPlanRecord;
    readonly rewriteFormulaMetadataPreservingRuntimeNow: (cellIndex: number, source: string, compiled: CompiledFormula, templateId?: number, ownerPosition?: FormulaOwnerPosition) => boolean;
    readonly bindPreparedFormulaNow: (cellIndex: number, ownerSheetName: string, source: string, compiled: CompiledFormula, templateId?: number, options?: BindPreparedFormulaOptions) => boolean;
}): {
    readonly deferCellFormulasForSheetRenameNow: (oldSheetName: string, newSheetName: string) => void;
    readonly rewriteCellFormulasForSheetRenameNow: (oldSheetName: string, newSheetName: string, formulaChangedCount: number) => number;
};
