import type { EngineRuntimeState, RuntimeFormula, U32 } from '../runtime-state.js';
export declare const MIN_RECALC_NATIVE_DIRECT_SCALAR_BATCH_SIZE = 64;
export declare const MAX_RECALC_NATIVE_DIRECT_SCALAR_BATCH_SIZE = 4096;
type RecalcNativeDirectScalarState = Pick<EngineRuntimeState, 'workbook' | 'wasm' | 'counters'>;
export interface RecalcNativeDirectScalarBatch {
    readonly count: number;
    readonly add: (cellIndex: number, formula: RuntimeFormula) => boolean;
    readonly evaluate: () => U32 | undefined;
    readonly reset: () => void;
}
export declare function createRecalcNativeDirectScalarBatch(args: {
    readonly state: RecalcNativeDirectScalarState;
    readonly capacity: number;
    readonly onCellValueChanged?: (cellIndex: number) => void;
}): RecalcNativeDirectScalarBatch;
export {};
