import type { FormulaCell } from '../ts-types/formula'; import type { FormulaEngine } from './formula-engine'; import type { CrossSheetFormulaManager } from './cross-sheet-formula-manager'; export interface ValidationError { type: 'INVALID_SHEET' | 'INVALID_CELL' | 'CIRCULAR_REFERENCE' | 'MISSING_REFERENCE'; message: string; sheet: string; cell: FormulaCell; target?: string; } export interface ValidationResult { valid: boolean; errors: ValidationError[]; warnings: string[]; } export interface ValidationOptions { checkCircularReferences: boolean; checkMissingReferences: boolean; checkCellBounds: boolean; maxRecursionDepth: number; } export declare class CrossSheetFormulaValidator { private formulaEngine; private crossSheetManager; private sheetManager; private validationCache; private readonly CACHE_TTL; private defaultOptions; constructor(formulaEngine: FormulaEngine, crossSheetManager: CrossSheetFormulaManager, sheetManager?: { getAllSheets: () => Array<{ sheetKey: string; sheetTitle: string; }>; }); validateSheet(sheet: string, options?: Partial): ValidationResult; private validateFormula; private extractCrossSheetReferences; private validateCellReferences; private checkCircularReferences; private checkMissingReferences; validateAllSheets(options?: Partial): Map; validateFormulaSyntax(formula: string): { valid: boolean; error?: string; }; private validateExpressionStructure; private isValidSheetName; private isValidCellReference; private isValidSheet; private parseA1Notation; private getA1Notation; private getCacheKey; private getCacheTimestamp; clearCache(): void; destroy(): void; }