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;