import type { CellValue } from '@bilig/protocol';
import type { RecalcValueChangeCollector } from './recalc-value-change-collector.js';
export interface RecalcPivotValueChangeWorkbook {
    readonly cellStore: {
        readonly getValue: (cellIndex: number, resolveString: (stringId: number) => string) => CellValue;
    };
    readonly getCellIndex: (sheetName: string, address: string) => number | undefined;
}
export interface RecalcPivotValueChangeStringPool {
    readonly get: (stringId: number) => string;
}
export interface RecalcPivotOutputShape {
    readonly sheetName: string;
    readonly address: string;
    readonly rows: number;
    readonly cols: number;
}
export declare function capturePivotOutputValues(input: {
    readonly pivot: RecalcPivotOutputShape;
    readonly workbook: RecalcPivotValueChangeWorkbook;
    readonly strings: RecalcPivotValueChangeStringPool;
}): Map<number, CellValue>;
export declare function notePivotValueChanges(input: {
    readonly changed: readonly number[] | Uint32Array;
    readonly before: ReadonlyMap<number, CellValue>;
    readonly workbook: RecalcPivotValueChangeWorkbook;
    readonly strings: RecalcPivotValueChangeStringPool;
    readonly collector: RecalcValueChangeCollector;
}): void;
