import type { SliderMark } from './types'; export interface SliderRootContextValue { /** True when the value has 2+ entries (range) — drives slot-naming + label defaults. */ isRange: boolean; /** Expected thumb count (`value`/`defaultValue` length) — for the dev thumb-count guard. */ thumbCount: number; /** Resolved invalid state (own `error` || Field `invalid`) — for sub-part error styling. */ invalid: boolean; /** Resolved disabled state (own `disabled` ?? Field `disabled`). */ disabled: boolean; /** * Resolved read-only state (own `readOnly` ?? Field `readOnly`). Ark's thumb guards * drag/keyboard on this, but its `setThumbValue` does NOT — so parts that write * imperatively (`SliderInput`, `SliderMarks` click-to-jump) must honour it themselves. */ readOnly: boolean; /** Field help/error id to announce on the thumb (`aria-describedby`). */ ariaDescribedby?: string; /** Field label id — fallback accessible name for a single thumb with no explicit label. */ fieldLabelId?: string; /** * Marks published by ``, mirrored into root state so `getAriaValueText` * (and `SliderValue` / the thumb tooltip) resolve ordinal labels. Empty when there * are no marks. */ marks: SliderMark[]; /** Called by `` to publish its marks to the root (no-op if unchanged). */ registerMarks: (marks: SliderMark[]) => void; } export declare const SliderRootContextProvider: import("react").Provider; export declare const useSliderRootContext: () => SliderRootContextValue;