import React from "react";
export type RangeSliderWidth = "default" | "fullwidth";
export interface RangeSliderConfig {
    connect?: boolean | boolean[];
    format?: (value: number) => string;
    handleAttributes?: Array<Record<string, any>>;
    pips?: {
        mode?: "positions" | "count" | "values";
        filter?: (value: number) => boolean;
        format?: (value: number) => string;
        values?: number[] | number;
        density?: number;
    };
    range: {
        min: number | number[];
        max: number | number[];
    };
    start: number[];
    [key: string]: any;
}
export interface RangeSliderProps extends React.HTMLAttributes<HTMLDivElement> {
    /** [noUiSlider config object](https://refreshless.com/nouislider/slider-options/) */
    config: RangeSliderConfig;
    /** insert arbitrary element after rangeslider */
    elementAfter?: React.ReactNode;
    /** insert arbitrary element before rangeslider */
    elementBefore?: React.ReactNode;
    /** render data-rangeslider attribute and initialize RangeSlider.static.js */
    hasDataAttr?: boolean;
    /** element id. required by RangeSlider.static.js and generated automatically in React environment. */
    id?: string;
    /** Invalid state */
    isInvalid?: boolean;
    /** width of the element */
    width?: RangeSliderWidth;
    /** Additional CSS classes */
    className?: string;
}
declare const RangeSlider: React.FC<RangeSliderProps>;
export { RangeSlider };
