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; constructor(props: MultiSliderProps); componentWillReceiveProps(nextProps: MultiSliderProps): void; render({min, max, vertical, included, disabled, classesPrefix, tipFormatter}: 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 onMove(position: number): void; protected onEnd(): void; protected clampAlignValue(value: number, nextProps?: Partial): number; private getClosestBound(value); private getBoundNeedMoving(value, closestBound); private pushSurroundingHandles(bounds, handle, originalValue); private pushHandle(bounds, handle, direction, amount); private pushHandleOnePoint(bounds, handle, direction); private getPoints(); private clampValueToSurroundingHandles(value, {allowCross}); } export { MultiSlider as default };