import { ComponentPropsWithRef, ReactNode } from 'react'; import { UseMessageProps } from '../shared/types'; type HTMLInputProps = ComponentPropsWithRef<'input'>; type FilteredHTMLInputProps = Omit; export type InputRangeProps = FilteredHTMLInputProps & UseMessageProps & { label: ReactNode; formatValue?: (value: number) => string; contentBefore?: ReactNode; contentAfter?: ReactNode; defaultValue?: number; hideLabel?: boolean; hideValue?: boolean; min?: number; max?: number; step?: number; value?: number; }; /** * - InputRange supports both controlled and uncontrolled patterns: * - **Controlled**: Provide `value` and `onChange` props. Use for inputs with complex interactions or when you need to programmatically control the value. * - **Uncontrolled**: Provide `defaultValue` prop and access the value via a ref. Use for simple forms or when integrating with form libraries like react-hook-form. If `defaultValue` is not provided, it defaults to the step closest to the median between `min` and `max`. * - `id` is required to associate the input with the `label`. * - All [valid HTML attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/range) for `input type="range"` are supported (`min`, `max`, `step`, etc.). */ export declare const InputRange: import('react').ForwardRefExoticComponent & import('react').RefAttributes>; export default InputRange;