import "./slider.css"; import type * as React from "react"; import { Slider as Base } from "@base-ui/react/slider"; import { type StyleProps } from "./style_props"; import { type InkColor } from "./text_ink"; export interface SliderBaseProps extends StyleProps { min: number; max: number; step?: number; /** Render the value labels (money, units). Default: the bare number, written * the way the active pack's locale writes one. */ format?: (value: number) => string; /** Print the selected value(s) above the track. Turn OFF when the caller * renders the figure itself — a page that shows the volume at display size * under the control does not want it a second time in muted 14px. */ labels?: boolean; /** The filled track's and thumb's ink ROLE. Default the neutral ink. */ color?: InkColor; /** Base name. In `range` mode the thumbs announce the locale's min / max * phrasing for it — the same words a filtered column's two ends take. */ accessibilityLabel: string; testID?: string; ref?: React.Ref; render?: React.ComponentProps["render"]; } export type SliderProps = SliderBaseProps & ({ range?: false; value: number; onValueChange: (value: number) => void; } | { range: true; value: [number, number]; onValueChange: (value: [number, number]) => void; }); /** * A short human summary of a range selection for a `FilterChip` preview — * "5tr–10tr", or "≥ 5tr" / "≤ 10tr" when one end sits at its bound, and * `undefined` at the full range (no active filter). Mirrors `columnFilterSummary`. */ export declare function rangeSummary(value: [number, number], format?: (n: number) => string, bounds?: [number, number]): string | undefined; /** * Drag a continuous number along a track — a volume, a price, a weight, a * threshold. ONE thumb by default; `range` turns on the second and the value * becomes `[low, high]` (a price band, a filter facet). Single and range are * the same control in two modes, not two components: the geometry, the drag, * the keyboard contract and the a11y anatomy are identical. * * A styled Base UI `Slider`, so every thumb is a real ARIA slider that arrows, * Home/End and Page Up/Down operate, and in `range` mode the thumbs are clamped * against each other. For a small discrete count, or a figure typed exactly, * use `NumberInput`. * * * * */ export declare function Slider(props: SliderProps): React.JSX.Element;