import { type LiteralInput, type RecalcMetrics } from '@bilig/protocol';
import type { RuntimeDirectScalarDescriptor, U32 } from '../runtime-state.js';
import type { CreateEngineOperationServiceArgs } from './operation-service-types.js';
export interface OperationDirectScalarLiteralMutationRequest {
    readonly existingIndex: number;
    readonly value: LiteralInput;
    readonly oldNumber: number;
    readonly newNumber: number;
}
export interface OperationDirectScalarLiteralFastPathArgs {
    readonly state: Pick<CreateEngineOperationServiceArgs['state'], 'workbook' | 'strings' | 'formulas' | 'counters' | 'setLastMetrics'>;
    readonly getSingleEntityDependent: (entityId: number) => number;
    readonly getEntityDependents: (entityId: number) => U32;
    readonly canSkipDirectFormulaColumnVersion: (cellIndex: number) => boolean;
    readonly canUseDirectFormulaPostRecalc: (formulaCellIndex: number) => boolean;
    readonly tryDirectScalarNumericDeltaFromNumbers: (directScalar: RuntimeDirectScalarDescriptor, changedCellIndex: number, oldChangedNumber: number, newChangedNumber: number) => number | undefined;
    readonly applyDirectFormulaNumericDelta: (formulaCellIndex: number, delta: number) => boolean;
    readonly deferSingleCellKernelSync: (cellIndex: number) => void;
    readonly makeSingleLiteralSkipMetrics: () => RecalcMetrics;
}
export declare function tryApplySingleDirectScalarLiteralMutationWithoutEvents(args: OperationDirectScalarLiteralFastPathArgs, request: OperationDirectScalarLiteralMutationRequest): boolean;
export declare function tryApplySingleDirectScalarLiteralMutationWithoutEventsAndReturnChanged(args: OperationDirectScalarLiteralFastPathArgs, request: OperationDirectScalarLiteralMutationRequest): U32 | null;
