import { MouseEvent, ReactNode, CSSProperties, FormEvent } from "react";
export declare type TActiveButton = "left" | "right" | null | undefined;
export declare type TSliderValue<Range> = Range extends true ? [number, number] : number;
export declare const sliderStatus: readonly ["info", "warning", "error", "success"];
export declare type TSliderStatus = typeof sliderStatus[number];
export declare type TOnChangeSlider<Range> = (event: FormEvent<HTMLInputElement> | MouseEvent<HTMLDivElement>, value: TSliderValue<Range>) => void;
export declare type TSliderDirection = "vertical" | "horizontal";
export declare const sliderSize: string[];
export declare type TSliderSize = typeof sliderSize[number];
export declare type TSliderTooltipFormatter = (value: number | undefined) => string;
export interface ISliderProps<Range extends boolean = false> {
    className?: string;
    step?: number;
    isRange?: Range;
    isDisabled?: boolean;
    direction?: TSliderDirection;
    value: TSliderValue<Range>;
    status?: TSliderStatus;
    min?: number;
    max?: number;
    size?: TSliderSize;
    onChange?: TOnChangeSlider<Range>;
    leadText?: ReactNode;
    trailText?: ReactNode;
    defaultValue?: TSliderValue<Range>;
    isReset?: boolean;
    isTooltip?: boolean;
    tooltipFormatter?: TSliderTooltipFormatter;
    style?: CSSProperties;
    width?: string;
    height?: string;
    testId?: string;
}
export interface ISliderLine {
    isActive: boolean;
    length: number;
}
export declare type TTrackPosition = {
    x: number;
    y: number;
} | null;
