import { type FC, type InputHTMLAttributes, type Ref } from 'react'; export interface SliderInputProps extends Omit, 'value' | 'defaultValue' | 'size'> { /** Which thumb this box is bound to (0 = single/low, 1 = high). */ index?: number; /** Ref to the real `` node (analytics / focus management). */ ref?: Ref; } /** * Inline numbers-only `Input` two-way bound to the thumb at `index`: a plain box (no * stepper, fixed width — the DS `Input`, matching Figma `_text-box`). The slider machine * owns clamp/snap/no-cross, so the box needs no bounds of its own. * * Editing uses a local draft buffer: while focused, the box shows exactly what the user * typed (so an empty field, a leading `-`, a trailing `.`, or a value that would snap/clamp * survive the keystroke) and commits to `setThumbValue` on blur / Enter — then drops the * draft so the box re-syncs to the machine's clamped + snapped value. Binding `value` * straight to the snapped machine value instead would fight every intermediate keystroke. * * It is the real interactive node, so arbitrary consumer `data-*` / `aria-*` / `id` / `ref` * (canonically `data-analytics-id` / `data-analytics-props`) forward straight to the * `` (see `docs/metrics/contract.md`). * * Explicit `useId` default so two range boxes never collide on the wrapping field's control * id (and `FieldLabel`'s `htmlFor` keeps naming the thumb, not a box); a consumer `id` wins. */ export declare const SliderInput: FC;