import React, { type ReactElement } from "react"; import { type SliderProps } from "./Slider"; import { type SliderContextActions, type SliderContextInfix, type SliderContextSelection, type SliderContextUI } from "./SliderConstants"; import { type IconType } from "@vibe/icon"; export interface SliderProviderProps extends SliderProps { /** * The child elements inside the slider provider. */ children?: ReactElement | ReactElement[]; /** * Configuration options for prefix, postfix, and selection indicator. */ infixOptions?: { /** * If true, displays the selected value from the slider range. */ indicateSelection?: boolean; /** * Configuration for the prefix (start) element, which can be: * - A React component, text, number, or node. * - An object with an icon. * - A function that receives the value and valueText. */ prefix?: { icon: IconType; } | string | ((value: number, valueText: string) => void) | ReactElement; /** * Configuration for the postfix (end) element, similar to prefix. */ postfix?: { icon: IconType; } | string | ((value: number, valueText: string) => void) | ReactElement; /** * The width of the selection indicator. */ selectionIndicatorWidth?: string; }; } export declare function SliderProvider({ children, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, color, "data-testid": dataTestId, defaultValue, disabled, max, min, onChange, ranged, showValue, valueLabelPosition, valueLabelColor, size, step, value, valueFormatter, valueText, infixOptions }: SliderProviderProps): React.JSX.Element; export declare function useSliderUi(): SliderContextUI; export declare function useSliderInfix(): SliderContextInfix; export declare function useSliderSelection(): SliderContextSelection; export declare function useSliderActions(): SliderContextActions;