import { ReactNode, SyntheticEvent } from 'react'; export interface SliderMark { value: number; label?: ReactNode; } type SliderValue = number | number[]; interface SliderClasses { root?: string; rail?: string; track?: string; thumb?: string; mark?: string; markActive?: string; markLabel?: string; markLabelActive?: string; } interface SliderSlotProps { thumb?: { className?: string; }; rail?: { className?: string; }; markLabel?: { className?: string; }; } /** * @figmaNode wXrXt5uKNNzV2DnQCgyYZH#21289-39224 (Design-System ยท "Slider" / linear scale) * * DS slider: rail `delta-100` (4px), filled track + thumb + active dots `gama-500`, inactive dots * white/`delta-300`, scale numbers Body Base SemiBold 16/24 `delta-700`. Disabled โ†’ `delta-200`. */ export interface StyledSliderProps { dataTest: string; min?: number; max?: number; step?: number; value?: SliderValue; defaultValue?: SliderValue; disabled?: boolean; size?: 'small' | 'medium'; orientation?: 'horizontal' | 'vertical'; marks?: boolean | SliderMark[]; name?: string; className?: string; classes?: SliderClasses; slotProps?: SliderSlotProps; error?: boolean; errorText?: string; helperText?: string; reserveHelperText?: boolean; /** Accessible name for the thumb input(s) โ€” there is no visible label to derive it from * (axe `label`). A function receives the thumb index (0, or 0/1 for a two-thumb range) so each * thumb of a range slider can get a distinct name. */ ariaLabel?: string | ((thumbIndex: number) => string); ariaLabelledBy?: string; onChange?: (event: SyntheticEvent, value: SliderValue, activeThumb: number) => void; onChangeCommitted?: (event: SyntheticEvent, value: SliderValue) => void; } /** * Native range-input slider (replaces MUI `Slider`). Single value uses one ``; * a two-element `value` renders two stacked inputs (each thumb independently grabbable via * pointer-events on the thumb only). Marks, vertical orientation, `classes`/`slotProps` slots and * * ponytail: exact-pixel parity with MUI's thumb travel/animation is a known ceiling โ€” Chromatic in * CI is the visual gate. Upgrade path: tune the 8px thumb inset if a diff shows misalignment. * TASK-204. */ export declare const StyledSlider: ({ dataTest, min, max, step, value, defaultValue, disabled, size, orientation, marks, name, className, classes, slotProps, error, errorText, helperText, reserveHelperText, ariaLabel, ariaLabelledBy, onChange, onChangeCommitted, }: StyledSliderProps) => JSX.Element; export {};