import React, { FormEvent, MouseEvent } from "react";
import { TSliderValue, TOnChangeSlider, TSliderDirection, TSliderStatus } from "../types";
export interface IUseSliderProps<Range extends boolean = false> {
    isDisabled: boolean;
    isRange: Range;
    value: TSliderValue<Range>;
    min: number;
    max: number;
    step?: number;
    onChange?: TOnChangeSlider<Range>;
    hintsRef: React.RefObject<HTMLButtonElement>[];
    direction?: TSliderDirection;
    defaultValue?: TSliderValue<Range>;
    inputsRef: React.RefObject<HTMLInputElement>[];
    status: TSliderStatus;
}
interface IUseSliderValues<Range extends boolean> {
    currentValue: TSliderValue<Range>;
    onResetLeft: (event: React.MouseEvent<HTMLDivElement>) => void;
    onResetRight: (event: React.MouseEvent<HTMLDivElement>) => void;
    handleFromInput: (event: FormEvent<HTMLInputElement>) => void;
    handleToInput: (event: FormEvent<HTMLInputElement>) => void;
    handleClick: (event: MouseEvent<HTMLDivElement>) => void;
}
export declare function useSlider<Range extends boolean>({ min, max, value, defaultValue, isRange, inputsRef, hintsRef, onChange, status, isDisabled, direction, step }: IUseSliderProps<Range>): IUseSliderValues<Range>;
export {};
