import { Slider as SliderPrimitive } from '@base-ui/react/slider';
import { type FieldProps } from '@/components/atoms/forms/_shared';
import { type SliderColor, type SliderDirection, type SliderSize } from '@/components/ui/slider';
export type { SliderColor, SliderDirection, SliderSize };
export type SliderLabelMode = 'none' | 'bottom' | 'floating';
export type SliderMode = 'single' | 'range';
interface SliderControlProps extends Omit<SliderPrimitive.Root.Props, 'onValueChange'> {
    /** Direction for RTL support - auto-detected from DOM if not provided */
    dir?: SliderDirection;
    /** Slider mode: "single" for one handle, "range" for two handles */
    mode?: SliderMode;
    /** Size of the slider track: sm (6px), md (8px), lg (12px) */
    size?: SliderSize;
    /** Color variant of the slider */
    color?: SliderColor;
    /** Label text displayed above the slider (inline, without Field wrapping) */
    label?: string;
    /** Label display mode: none, bottom (under thumb), or floating (tooltip above) */
    labelMode?: SliderLabelMode;
    /** Custom formatter for value display */
    valueFormat?: (value: number) => string;
    /** Show min/max values at slider ends */
    showMinMax?: boolean;
    /** Hint text displayed below the slider */
    hint?: string;
    /** Called when value changes */
    onValueChange?: (value: number[]) => void;
}
export interface SliderProps extends Omit<SliderControlProps, 'label'>, FieldProps {
}
/**
 * Base slider component with support for single/range modes
 */
declare const SliderBase: import("react").ForwardRefExoticComponent<Omit<Omit<SliderPrimitive.Root.Props<number | readonly number[]>, "onValueChange"> & {
    size?: SliderSize;
    color?: SliderColor;
    thumbCount?: number;
    onValueChange?: (value: number | readonly number[]) => void;
}, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
declare const Slider: import("react").ForwardRefExoticComponent<Omit<SliderProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
export { Slider, SliderBase };
