import { type EngineChangedCell } from '@bilig/protocol';
import type { EngineOpBatch } from '@bilig/workbook';
import type { EngineCellMutationRef } from '../../cell-mutations-at.js';
import type { EngineRuntimeState, U32 } from '../runtime-state.js';
type FastPathState = Pick<EngineRuntimeState, 'workbook' | 'events' | 'formulas' | 'counters' | 'replicaState' | 'getLastMetrics' | 'setLastMetrics' | 'getSyncClientConnection'>;
export interface OperationExistingRectangularLiteralBatchFastPathArgs {
    readonly state: FastPathState;
    readonly emitBatch: (batch: EngineOpBatch) => void;
    readonly canFastPathLiteralOverwrite: (cellIndex: number) => boolean;
    readonly writeNumericLiteralToCellStore: (cellIndex: number, value: number) => void;
    readonly materializeDeferredStructuralFormulaSources: () => void;
    readonly getBatchMutationDepth: () => number;
    readonly setBatchMutationDepth: (next: number) => void;
    readonly deferKernelSync: (cellIndices: readonly number[] | U32) => void;
    readonly captureChangedCells: (changedCellIndices: readonly number[] | U32) => readonly EngineChangedCell[];
}
export declare function createOperationExistingRectangularLiteralBatchFastPath(args: OperationExistingRectangularLiteralBatchFastPathArgs): {
    readonly tryApplyExistingDenseRectangularNumericLiteralBatch: (refs: readonly EngineCellMutationRef[], batch: EngineOpBatch | null, potentialNewCells?: number) => boolean;
};
export {};
