import { type ComponentPropsWithoutRef, type ReactNode } from "react";
export type RangeSliderSize = "sm" | "md" | "lg";
type DivPropsBase = Omit<ComponentPropsWithoutRef<"div">, "onChange" | "defaultValue" | "children">;
export interface RangeSliderProps extends DivPropsBase {
    label?: ReactNode;
    value: [number, number];
    onChange?: (value: [number, number]) => void;
    min?: number;
    max?: number;
    step?: number;
    /** Format the rendered + announced value. Both the visible label and
     *  the `aria-valuetext` use this so AT users hear "$50" instead of
     *  "50" when the consumer formats as currency. */
    formatValue?: (value: number) => ReactNode;
    showValue?: boolean;
    size?: RangeSliderSize;
    disabled?: boolean;
    /** Helper text rendered below the track. Suppressed when `error` is set. */
    helperText?: ReactNode;
    /** Error message — renders with `role="alert"` and tints the track. */
    error?: ReactNode;
    /** Accessible name for the lower thumb. Default "Minimum". */
    minLabel?: string;
    /** Accessible name for the upper thumb. Default "Maximum". */
    maxLabel?: string;
}
export declare const RangeSlider: import("react").ForwardRefExoticComponent<RangeSliderProps & import("react").RefAttributes<HTMLDivElement>>;
export {};
//# sourceMappingURL=RangeSlider.d.ts.map