import type { EventWithOptionalKeyState, IncrementValueParameters } from "../utils/types.js"; import { type PressAndHoldPointerHandlers } from "../utils/use-press-and-hold.js"; import type { NumberFieldRootChangeEventDetails } from "./number-field-root.js"; import type { NumberFieldRootCommitEventDetails } from "./number-field-root-context.js"; export interface UseNumberFieldButtonParameters { allowInputSyncRef: { current: boolean; }; disabled: () => boolean; formatOptionsRef: { current: Intl.NumberFormatOptions | undefined; }; getStepAmount: (event?: EventWithOptionalKeyState) => number | undefined; id: string; incrementValue: (amount: number, params: IncrementValueParameters) => boolean; inputRef: { current: HTMLInputElement | null; }; inputValue: () => string; isIncrement: boolean; locale?: (() => Intl.LocalesArgument | undefined) | undefined; readOnly: () => boolean; setValue: (value: number | null, details: NumberFieldRootChangeEventDetails) => boolean; valueRef: { current: number | null; }; lastChangedValueRef: { current: number | null; }; onValueCommitted: (value: number | null, eventDetails: NumberFieldRootCommitEventDetails) => void; } export interface UseNumberFieldButtonReturn { props: Record; } /** * Shared handler factory for `` and * ``. Mirrors React's * `useNumberFieldButton` — the single press path runs `commitValue` then * `incrementValue`; hold starts the auto-change sequence via * {@link usePressAndHold}. */ export declare function useNumberFieldButton(params: UseNumberFieldButtonParameters): UseNumberFieldButtonReturn; export type { PressAndHoldPointerHandlers }; //# sourceMappingURL=use-number-field-button.d.ts.map