import type { TransitionProps } from "../../Transition"; export type RangeSliderValue = [number, number]; export interface RangeSliderProps extends Omit, "onChange" | "value" | "defaultValue"> { /** Key of Preset or any valid CSS color, controls color of track and thumb * @default 'primary' */ color?: "neutral" | "primary" | "secondary" | "accent" | "info" | "success" | "warning" | "error" | React.CSSProperties["color"]; /** Key of Preset or any valid CSS value to set border-radius * @default 'xl' */ radius?: "xs" | "sm" | "md" | "lg" | "xl" | "2xl"; /** Controls size of the track * @default 'md' */ size?: "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | string | number; /** Minimal possible value * @default 0 */ min?: number; /** Maximum possible value * @default 100 */ max?: number; /** Number by which value will be incremented/decremented with thumb drag and arrows * @default 1 */ step?: number; /** Number of significant digits after the decimal point */ precision?: number; /** Controlled value */ value?: RangeSliderValue; /** Uncontrolled default value */ defaultValue?: RangeSliderValue; /** Called when value changes */ onChange?: (value: RangeSliderValue) => void; /** Called when user stops dragging slider or changes value with arrows */ onChangeEnd?: (value: RangeSliderValue) => void; /** Hidden input name, use with uncontrolled component */ name?: string; /** Marks displayed on the track */ marks?: { value: number; label?: React.ReactNode; }[]; /** Function to generate label or any react node to render instead, set to null to disable label * @default (v) => v */ label?: React.ReactNode | ((value: number) => React.ReactNode); /** Props passed down to the Transition component, * @default "{transition: 'fade', duration: 150 }"" */ labelTransitionProps?: Pick; /** Determines whether the label should be visible when the slider is not being dragged or hovered * @default false */ labelAlwaysOn?: boolean; /** Determines whether thumb label should be displayed when the slider is hovered, * @default true */ showLabelOnHover?: boolean; /** Content rendered inside thumb */ thumbChildren?: React.ReactNode; /** Disables slider */ disabled?: boolean; /** Thumb width and height * @default size*2 */ thumbSize?: number | string; /** A transformation function to change the scale of the slider * @default (v) => v */ scale?: (value: number) => number; /** Determines whether track values representation should be inverted * @default false */ inverted?: boolean; /** Minimal range interval * @default 10 */ minRange?: number; /** Maximum range interval * @default Infinity */ maxRange?: number; /** First thumb aria-label */ thumbFromLabel?: string; /** Second thumb aria-label */ thumbToLabel?: string; /** Props passed down to the hidden input */ hiddenInputProps?: React.ComponentProps<"input">; /** 样式槽,可自定义内部组件的样式 */ slots?: { root?: string; trackContainer?: string; track?: string; bar?: string; mark?: string; markLabel?: string; thumb?: string; label?: string; }; } export declare function RangeSlider(props: RangeSliderProps): import("react").JSX.Element;