import React, { Component, RefObject } from 'react';
declare function noop(): void;
interface StyledRangeSliderProps {
    $vertical?: boolean;
}
declare const StyledRangeSlider: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, StyledRangeSliderProps>>;
export type StyleRangeSliderType = typeof StyledRangeSlider & HTMLDivElement;
interface SliderWrapperProps {
    $isRanged?: boolean;
    $vertical?: boolean;
}
declare const SliderWrapper: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, SliderWrapperProps>>;
type SliderProps = {
    title: string;
    isRanged: boolean;
    value0: number;
    value1: number;
    minValue: number;
    maxValue: number;
    sliderHandleWidth: number;
    onSlider0Change: (val: number) => any;
    onSlider1Change: (val: number) => any;
    onSliderBarChange: (val0: number, val1: number) => void;
    step: number;
    enableBarDrag: boolean;
    showTooltip: boolean;
    vertical: boolean;
    marks?: number[] | null;
    classSet?: {
        [key: string]: boolean;
    };
    disabled: boolean;
    className?: string;
    style?: object;
};
export default class Slider extends Component<SliderProps> {
    props: SliderProps;
    static defaultProps: {
        title: string;
        isRanged: boolean;
        value0: number;
        value1: number;
        minValue: number;
        maxValue: number;
        step: number;
        sliderHandleWidth: number;
        enableBarDrag: boolean;
        onSlider0Change: typeof noop;
        onSlider1Change: typeof noop;
        onSliderBarChange: typeof noop;
        disabled: boolean;
        vertical: boolean;
        showTooltip: boolean;
    };
    private anchor;
    ref: RefObject<typeof SliderWrapper & HTMLDivElement>;
    track: RefObject<StyleRangeSliderType>;
    constructor(props: SliderProps);
    private setAnchor;
    private getBaseDistance;
    private getDeltaVal;
    private getDeltaX;
    private getValue;
    private normalizeValue;
    slide0Listener: (x: number) => void;
    slide1Listener: (x: number) => void;
    sliderBarListener: (x: number) => void;
    calcHandleLeft0: (w: number, l: number) => string;
    calcHandleLeft1: (w: number, l: number) => string;
    render(): React.JSX.Element;
}
export {};
