import type { RangeProps } from './types'; import { Component, RefObject } from 'react'; import { Container } from '../helpers/create-container'; /** * Поле выбора диапазона с двумя ползунками. */ export declare class Range extends Component { containerRef: RefObject; rangeRef: RefObject; startThumbRef: RefObject; finishThumbRef: RefObject; start: Container; finish: Container; activeBounds: [number, number]; unsubscribeList: Array<() => void>; activeThumbEl?: HTMLElement; isGrabbed?: boolean; /** * Конструктор. * @param props Свойства. */ constructor(props: RangeProps); /** @inheritdoc */ componentDidMount(): void; /** @inheritdoc */ componentDidUpdate(prevProps: RangeProps): void; /** @inheritdoc */ componentWillUnmount(): void; /** * Обрабатывает событие как начало слежения за указателем/пальцем. * @param event Событие. */ handleDragStart(event: MouseEvent | TouchEvent): void; /** * Завершает слежение за указателем/пальцем. */ handleDragEnd(): void; /** * Обновляет позицию ползунков и выделенный диапазон. * Запускает событие 'slide'. */ handleValueChange(): void; /** * Вписывает переданное значение в границы, заданные свойствами. * @param value Значение. * @return Вписанное значение. */ constrainValue(value: number): number; /** * Обновляет значения начала/конца диапазона по событию. * @param event Событие. */ updateValues(event: MouseEvent | TouchEvent): void; /** * Обновляет позицию кнопок. */ updateThumbElements(): void; /** * Обновляет позицию и размер элемента отражающего выбранный диапазон. */ updateRangeElement(): void; /** * Возвращает текущие значения в процентах. * @return Начальное и конечное значения в процентах. */ getPercents(): [number, number]; /** * Обновляет данные выбранной кнопки по событию. * @param event Событие. */ updateActiveThumb(event: MouseEvent | TouchEvent): void; /** * Переключает состояние слежения за курсором/пальцем. * @param isGrabbed Активно ли слежение. */ toggleGrabbed(isGrabbed: boolean): void; /** * Отправляет событие целевому обработчику. * @param eventName Имя события. */ fireEvent(eventName: string): void; /** @inheritdoc */ render(): import("react").JSX.Element; }