import { HTMLAttributes } from 'react';
export interface SliderProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
    /** Current value. Must be between `min` and `max`. */
    value: number;
    /** Called when the value changes. */
    onChange: (value: number) => void;
    /** Minimum value. Defaults to `0`. */
    min?: number;
    /** Maximum value. Defaults to `100`. */
    max?: number;
    /**
     * Granularity of each step.
     * - Arrow keys move by one step.
     * - Page Up/Down move by 10 steps.
     * Defaults to `1`.
     */
    step?: number;
    /** Disables the control. */
    disabled?: boolean;
    /**
     * Marks to display along the track.
     * Each mark can have an optional label rendered below the track.
     */
    marks?: Array<{
        value: number;
        label?: string;
    }>;
    /** Accessible label. Required when no visible `<label>` is present. */
    "aria-label"?: string;
    /** Associates the control with a visible label element. */
    "aria-labelledby"?: string;
    /** `id` of an element that describes the current value (e.g. a live region). */
    "aria-describedby"?: string;
}
/**
 * Draggable range slider following the Adwaita `GtkScale` pattern.
 *
 * - Pointer (mouse / touch / pen) drag to set value continuously.
 * - Keyboard: ← / → move by one step; Page Up/Down by 10 steps; Home/End jump to bounds.
 * - Optional tick marks with labels.
 * - Fills the track from the left up to the thumb (accent colour).
 *
 * @see https://developer.gnome.org/hig/patterns/controls/sliders.html
 */
export declare function Slider({ value, onChange, min, max, step, disabled, marks, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, ...props }: SliderProps): import("react/jsx-runtime").JSX.Element;
