import type { FormulaCell } from '../ts-types/formula'; import type { FormulaEngine } from './formula-engine'; export interface CrossSheetReference { sourceSheet: string; targetSheet: string; sourceCell: FormulaCell; targetCells: FormulaCell[]; formula: string; } export interface CrossSheetDependency { dependentSheet: string; precedentSheet: string; dependentCells: FormulaCell[]; precedentCells: FormulaCell[]; } export declare class CrossSheetFormulaManager { private formulaEngine; private sheetManager; private crossSheetDependencies; private reverseCrossSheetDependencies; private calculationCache; private readonly CACHE_TTL; constructor(formulaEngine: FormulaEngine, sheetManager?: { getAllSheets: () => Array<{ sheetKey: string; sheetTitle: string; }>; }); registerCrossSheetReference(formula: string, sourceCell: FormulaCell): CrossSheetReference[]; private isValidSheet; private extractTargetSheets; private extractTargetCells; private updateCrossSheetDependency; getCrossSheetDependencies(sheet: string): CrossSheetDependency[]; private getDependentCells; private getPrecedentCells; updateCrossSheetReferences(targetSheet: string, changedCells: FormulaCell[]): Promise; private formulaReferencesCells; private recalculateFormula; private recalculateDependents; validateCrossSheetReferences(sheet: string): { valid: boolean; errors: string[]; }; getCachedValue(cell: FormulaCell): any; clearCache(): void; clearSheetDependencies(sheet: string): void; private parseA1Notation; private getA1Notation; private getCacheKey; destroy(): void; }