import { HTMLUIProps, CSSUIProps, PropGetter } from '@yamada-ui/core'; import { FormControlOptions } from '@yamada-ui/form-control'; type ColorSliderChannel = "alpha" | "hue"; interface UseColorSliderOptions { /** * The maximum allowed value of the slider. Cannot be less than min. */ max: number; /** * The minimum allowed value of the slider. Cannot be greater than max. */ min: number; /** * The base `id` to use for the slider. */ id?: string; /** * The name attribute of the hidden `input` field. * This is particularly useful in forms. */ name?: string; /** * The channel of the slider. */ channel?: ColorSliderChannel; /** * The initial value of the slider. */ defaultValue?: number; /** * If `false`, the slider handle will not capture focus when value changes. * * @default true */ focusThumbOnChange?: boolean; /** * The step in which increments or decrements have to be made. * * @default 1 */ step?: number; /** * The CSS `background` property. Used in `background` of thumb element. */ thumbColor?: CSSUIProps["bg"]; /** * The value of the slider. */ value?: number; /** * Function called whenever the slider value changes. */ onChange?: (value: number) => void; /** * Function called when the user is done selecting a new value. */ onChangeEnd?: (value: number) => void; /** * Function called when the user starts selecting a new value. */ onChangeStart?: (value: number) => void; } interface UseColorSliderProps extends Omit, UseColorSliderOptions, FormControlOptions { } declare const useColorSlider: ({ focusThumbOnChange, ...props }: UseColorSliderProps) => { value: number; getContainerProps: PropGetter<"div", undefined>; getInputProps: PropGetter<"input", undefined>; getThumbProps: PropGetter<"div", undefined>; getTrackProps: PropGetter<"div", undefined>; }; type UseColorSliderReturn = ReturnType; declare const getAriaValueText: (channel: ColorSliderChannel, value: number) => string; export { type UseColorSliderProps, type UseColorSliderReturn, getAriaValueText, useColorSlider };