import { Component, HTMLAttributes, RefCallback } from 'react';
import { TouchEventHandler, TouchEvent } from '../Touch/Touch';
import { HasPlatform, HasRootRef } from '../../types';
import { AdaptivityProps } from '../../hoc/withAdaptivity';
export interface SliderProps extends HasRootRef, HasPlatform, Omit, 'defaultValue' | 'onChange'>, AdaptivityProps {
min?: number;
max?: number;
value?: number;
step?: number;
disabled?: boolean;
onChange?(value: number, e: TouchEvent): void;
defaultValue?: number;
}
export interface SliderState {
startX: number;
percentPosition: number;
containerWidth: number;
}
declare class Slider extends Component {
constructor(props: SliderProps);
static defaultProps: SliderProps;
isControlledOutside: boolean;
container: HTMLDivElement;
onStart: TouchEventHandler;
onMoveX: TouchEventHandler;
onChange(value: number, e: TouchEvent): void;
validateAbsolute(absolute: number): number;
validatePercent(percent: number): number;
absoluteToPecent(absolute: number): number;
percentToValue(percent: number): number;
valueToPercent(value: number): number;
get value(): number;
componentDidMount(): void;
componentDidUpdate(prevProps: SliderProps): void;
getRef: RefCallback;
render(): JSX.Element;
}
declare const _default: typeof Slider;
export default _default;