import type { Override } from '../helpers/overrides'; import type { STATE_CHANGE_TYPE } from './constants'; import type { ReactNode } from 'react'; export declare type ChangeAction = keyof typeof STATE_CHANGE_TYPE; export declare type Params = { value: Array; }; export declare type SliderOverrides = { Root?: Override; Track?: Override; InnerTrack?: Override; Tick?: Override; TickBar?: Override; Thumb?: Override; InnerThumb?: Override; ThumbValue?: Override; Mark?: Override; }; export declare type SliderProps = { /** Position of the thumbs. It can be a single point (one thumb) or 2 points array (range thumbs). */ value: Array; /** The minimum allowed value of the slider. Should not be bigger than max. */ min?: number; /** The maximum allowed value of the slider. Should not be smaller than min. */ max?: number; /** The granularity the slider can step through value. Default step is 1. */ step?: number; overrides?: SliderOverrides; /** Disable control from being changed. */ disabled?: boolean; /** Display a mark at each step. */ marks?: boolean; /** Always display the selected value/thumb/label. */ persistentThumb?: boolean; /** Function to change the numeric value to a user friendly value. Also applied to min/max labels. */ valueToLabel?: (value: number) => ReactNode; /** Handler for events on trigger element, each time thumbs change selection, which is passed in `value`. */ onChange?: (a: Params) => unknown; /** Handler for events on trigger element, each time thumbs finish changing selection, which is passed in `value`. */ onFinalChange?: (a: Params) => unknown; }; export declare type State = { value: Array; }; export declare type StateReducer = (stateType: string, nextState: State, currentState: State) => State; export declare type StatefulContainerProps = { overrides?: SliderOverrides; children: (a: SliderProps) => ReactNode; min: number; max: number; step: number; /** Initial state populated into the component */ initialState?: State; /** Reducer function to manipulate internal state updates. */ stateReducer: StateReducer; /** Handler for events on trigger element, each time thumbs change selection, which is passed in `value`. */ onChange: (a: {} & Params) => unknown; /** Handler for events on trigger element, each time thumbs finish changing selection, which is passed in `value`. */ onFinalChange: (a: {} & Params) => unknown; }; export declare type StatefulSliderProps = { /** Initial state populated into the component */ initialState?: State; } & Omit; export declare type StyleProps = { $disabled?: boolean; $isDragged?: boolean; $marks?: boolean; $max?: number; $min?: number; $thumbIndex?: number; $value?: Array; $isFocusVisible?: boolean; };