import { type RawCellContent, type WorkPaperChange } from '@bilig/headless'; import { type CellValue, type LiteralInput, type CompatibilityMode, type WorkbookCalculationMode, type WorkbookDateSystem } from '@bilig/protocol'; import { type ImportedWorkbookDiagnostics, type XlsxExternalWorkbookInput, type XlsxFormulaRecalcNativeDiagnostics } from '@bilig/xlsx'; export { WorkPaper } from '@bilig/headless'; export { exportXlsx, exportXlsxToFile, importXlsx } from '@bilig/headless/xlsx'; export { parseQualifiedA1, parseQualifiedCellTarget } from './xlsx-recalc-targets.js'; export type { XlsxExternalWorkbookInput, XlsxExternalWorkbookHydrationDiagnostics } from '@bilig/xlsx'; export { type StreamingNativeFormulaCounts, type XlsxFormulaRecalcNativeDiagnostics, type XlsxFormulaRecalcPhaseRss, StreamingNativeXlsxRecalcError, } from '@bilig/xlsx'; export { type StreamingNativeXlsxCacheFormulaInspection, type StreamingNativeXlsxCacheInspectionLimit, type StreamingNativeXlsxCacheInspectionResult, type StreamingNativeXlsxCacheLiteral, type StreamingNativeXlsxCacheStatus, type StreamingNativeXlsxCacheStatusSummary, inspectXlsxCacheFileStreamingNative, } from '@bilig/xlsx'; export type XlsxFormulaRecalcCellValue = CellValue; export type XlsxFormulaRecalcChange = WorkPaperChange; export type XlsxFormulaRecalcDiagnostics = ImportedWorkbookDiagnostics & Partial; export interface XlsxFormulaRecalcEdit { readonly target: string; readonly value: LiteralInput; } export type XlsxFormulaRecalcWorkPaperEngine = 'auto' | 'workpaper'; export type XlsxFormulaRecalcWorkPaperFallbackPolicy = 'error' | 'workpaper'; export interface XlsxFormulaRecalcWorkPaperConfig { readonly calculationSettings?: { readonly mode?: WorkbookCalculationMode; readonly compatibilityMode?: CompatibilityMode; readonly dateSystem?: WorkbookDateSystem; readonly iterate?: boolean | null; readonly iterateCount?: number | null; readonly iterateDelta?: string | null; readonly fullPrecision?: boolean | null; readonly fullCalcOnLoad?: boolean | null; readonly calcOnSave?: boolean | null; readonly calcCompleted?: boolean | null; readonly concurrentCalc?: boolean | null; } | undefined; readonly evaluationTimeoutMs?: number; readonly maxRows?: number; readonly maxColumns?: number; readonly useColumnIndex?: boolean; readonly [key: string]: unknown; } export interface XlsxFormulaRecalcOptions { readonly fileName?: string; readonly externalWorkbooks?: readonly XlsxExternalWorkbookInput[]; readonly edits?: readonly XlsxFormulaRecalcEdit[]; readonly reads?: readonly string[]; readonly config?: XlsxFormulaRecalcWorkPaperConfig; readonly engine?: XlsxFormulaRecalcWorkPaperEngine; readonly maxRssBytes?: number; readonly fallbackPolicy?: XlsxFormulaRecalcWorkPaperFallbackPolicy; } export interface XlsxFormulaRecalcFileOptions extends XlsxFormulaRecalcOptions { readonly outputPath: string; } export interface XlsxFormulaRecalcResult { readonly xlsx: Uint8Array; readonly warnings: readonly string[]; readonly sheetNames: readonly string[]; readonly reads: Readonly>; readonly changes: readonly XlsxFormulaRecalcChange[]; readonly diagnostics?: XlsxFormulaRecalcDiagnostics; } export interface XlsxFormulaRecalcFileResult { readonly bytesWritten: number; readonly warnings: readonly string[]; readonly sheetNames: readonly string[]; readonly reads: Readonly>; readonly changes: readonly XlsxFormulaRecalcChange[]; readonly diagnostics?: XlsxFormulaRecalcDiagnostics; } export type XlsxFormulaRecalcFileToFileEngine = 'auto' | 'streaming-native'; export type XlsxFormulaRecalcFileToFileFallbackPolicy = 'error'; export interface XlsxFormulaRecalcFileToFileOptions { readonly outputPath: string; readonly externalWorkbooks?: readonly XlsxExternalWorkbookInput[]; readonly edits?: readonly XlsxFormulaRecalcEdit[]; readonly reads?: readonly string[]; readonly engine?: XlsxFormulaRecalcFileToFileEngine; readonly maxRssBytes?: number; readonly fallbackPolicy?: XlsxFormulaRecalcFileToFileFallbackPolicy; } export declare function recalculateXlsx(input: Uint8Array | ArrayBuffer | Buffer, options?: XlsxFormulaRecalcOptions): XlsxFormulaRecalcResult; export declare function recalculateXlsxFileToFile(inputPath: string, options: XlsxFormulaRecalcFileToFileOptions): Promise; export declare function recalculateXlsxToFile(input: Uint8Array | ArrayBuffer | Buffer, options: XlsxFormulaRecalcFileOptions): XlsxFormulaRecalcFileResult; export declare const recalculateSheetjsWorkbook: typeof recalculateXlsx; export declare const xlsxCacheDoctorSchemaVersion = "xlsx-cache-doctor.v1"; export type XlsxCacheInspectionLimit = number | 'all'; export type XlsxCacheStatus = 'fresh' | 'stale' | 'missing-cache' | 'unsupported-recalculation'; export interface XlsxCacheInspectionOptions { readonly fileName?: string; readonly externalWorkbooks?: readonly XlsxExternalWorkbookInput[]; readonly edits?: readonly XlsxFormulaRecalcEdit[]; readonly inspectLimit?: XlsxCacheInspectionLimit; readonly config?: XlsxFormulaRecalcWorkPaperConfig; } export interface XlsxCacheStatusSummary { readonly inspected: number; readonly stale: number; readonly fresh: number; readonly missingCache: number; readonly unsupportedRecalculation: number; } export interface XlsxCacheFormulaInspection { readonly target: string; readonly formula: string; readonly cachedValue?: RawCellContent; readonly recalculatedValue: XlsxFormulaRecalcCellValue | undefined; readonly literalRecalculatedValue?: RawCellContent | string; readonly cacheStatus: XlsxCacheStatus; readonly staleCachedValue: boolean | null; } export interface XlsxCacheInspectionResult { readonly schemaVersion: typeof xlsxCacheDoctorSchemaVersion; readonly sheetNames: readonly string[]; readonly formulaCellCount: number; readonly inspectedFormulaCellCount: number; readonly uninspectedFormulaCellCount: number; readonly inspectionLimit: XlsxCacheInspectionLimit; readonly staleCachedFormulaCount: number; readonly cacheStatusSummary: XlsxCacheStatusSummary; readonly suggestedReads: readonly string[]; readonly formulas: readonly XlsxCacheFormulaInspection[]; readonly warnings: readonly string[]; readonly diagnostics?: ImportedWorkbookDiagnostics; readonly inspectionCompleted: true; readonly recalculationCompleted: true; readonly excelParity: 'not_proven'; } export declare function inspectXlsxCache(input: Uint8Array | ArrayBuffer | Buffer, options?: XlsxCacheInspectionOptions): XlsxCacheInspectionResult;