import AbstractSlider, { AbstractSliderProps, AbstractSliderState } from './AbstractSlider'; export interface MultiSliderProps extends AbstractSliderProps { defaultValue: number[]; value: number[]; count: number; pushable: boolean | number; allowCross: boolean; onBeforeChange(value: number[]): void; onChange(value: number[]): void; onAfterChange(value: number[]): void; } export interface MultiSliderState extends AbstractSliderState { handle: number | null; recent: number; bounds: number[]; } export interface MultiSliderDefaultProps extends AbstractSliderProps { count: number; pushable: boolean | number; allowCross: boolean; } declare class MultiSlider extends AbstractSlider, MultiSliderState> { static defaultProps: Readonly; private pointsCache; static getDerivedStateFromProps: (nextProps: P, prevState: S) => Partial; constructor(props: MultiSliderProps); render({ min, max, vertical, included, disabled, classesPrefix, }: MultiSliderProps, { handle, bounds }: MultiSliderState): JSX.Element; protected getValue(): number[]; protected getLowerBound(): number; protected getUpperBound(): number; protected onChange(state: Pick): void; protected onStart(position: number): void; protected onHover(position: number): void; protected onMove(position: number): void; protected onEnd(): void; protected clampAlignValue(value: number, nextProps?: Partial): number; private getClosestBound; private getBoundNeedMoving; private pushSurroundingHandles; private pushHandle; private pushHandleOnePoint; private getPoints; private clampValueToSurroundingHandles; } export { MultiSlider as default, };