import { default as React, HTMLAttributes, ReactNode } from 'react';
interface Range {
absolute: number;
selected: number;
}
interface RangeLabel {
min: string | ReactNode;
max: string | ReactNode;
}
export interface SliderProps extends Omit, 'onChange'> {
/**
* ID to find this component in testing tools (e.g.: cypress, testing library, and jest).
*
* @default 'fs-slider'
*/
testId?: string;
/**
* The minimum value of the slider.
*/
min: Range;
/**
* The maximum value of the slider.
*/
max: Range;
/**
* Specifies the number interval to be used in the inputs.
*/
step?: number;
/**
* Specifies the absolute values labels.
*/
absoluteValuesLabel: RangeLabel;
/**
* Callback that fires when the slider value changes.
*/
onChange?: (value: {
min: number;
max: number;
}) => void;
/**
* Callback that fires when the slider value ends changing.
*/
onEnd?: (value: {
min: number;
max: number;
}) => void;
/**
* A function used to set a human-readable value text based on the slider's current value.
*/
getAriaValueText?(value: number, thumb?: 'min' | 'max'): string;
/**
* Component that renders min value label above the left thumb.
*/
minValueLabelComponent?: (minValue: number) => ReactNode;
/**
* Component that renders max value label above the right thumb.
*/
maxValueLabelComponent?: (maxValue: number) => ReactNode;
}
type SliderRefType = {
setSliderValues: (values: {
min: number;
max: number;
}) => void;
};
declare const Slider: React.ForwardRefExoticComponent>;
export default Slider;
//# sourceMappingURL=Slider.d.ts.map