import * as React from 'react'; import type { NumberFieldRoot, NumberFieldRootState } from './NumberFieldRoot'; export interface NumberFieldRootContext { state: NumberFieldRootState; id: string | undefined; min: number | undefined; max: number | undefined; minWithDefault: number; maxWithDefault: number; locale: Intl.LocalesArgument; /** * Commits a value, validated against min/max/step. Returns whether it was * applied — a vetoed change reports `false` so callers do not commit a value * that was never stored. */ setValue: (value: number | null, eventDetails: NumberFieldRoot.ChangeEventDetails) => boolean; /** * Steps the value by `amount * direction` from the current value, seeding an * empty field with 0. */ incrementValue: (amount: number, params: NumberFieldIncrementParameters) => boolean; getStepAmount: () => number; setInputValue: React.Dispatch>; setScrubbing: (scrubbing: boolean) => void; /** * Whether the visible text may be overwritten with the formatted value. It is * false while the user is typing, so their text is not reformatted underneath * them until blur. */ allowInputSyncRef: React.RefObject; valueRef: React.RefObject; lastChangedValueRef: React.RefObject; formatOptionsRef: React.RefObject; onValueCommitted: (value: number | null, eventDetails: NumberFieldRoot.ChangeEventDetails) => void; } export interface NumberFieldIncrementParameters { direction: 1 | -1; reason: NumberFieldRoot.ChangeEventReason; currentValue?: number | null | undefined; } export declare const NumberFieldRootContext: React.Context; export declare function useNumberFieldRootContext(): NumberFieldRootContext; //# sourceMappingURL=NumberFieldRootContext.d.ts.map