import * as PropTypes from "prop-types"; import * as React from "react"; import { DraggableData, DraggableEvent } from "react-draggable"; import { AXIS_DIRECTION, ElementPropsWithElementRefAndRenderer } from "./types"; export declare type DragCallbackData = Pick>; export declare type ScrollbarThumbProps = Pick> & { axis: AXIS_DIRECTION; onDrag?: (data: DragCallbackData, isEnd: boolean) => void; onDragStart?: (data: DragCallbackData) => void; onDragEnd?: (data: DragCallbackData, isEnd: boolean) => void; ref?: (ref: ScrollbarThumb | null) => void; }; export default class ScrollbarThumb extends React.Component { static propTypes: { axis: PropTypes.Requireable; onDrag: PropTypes.Requireable<(...args: any[]) => any>; onDragStart: PropTypes.Requireable<(...args: any[]) => any>; onDragEnd: PropTypes.Requireable<(...args: any[]) => any>; elementRef: PropTypes.Requireable<(...args: any[]) => any>; renderer: PropTypes.Requireable<(...args: any[]) => any>; }; initialOffsetX: number; initialOffsetY: number; lastDragData: DragCallbackData; element: HTMLDivElement | null; private prevUserSelect; private prevOnSelectStart; private static selectStartReplacer; componentDidMount(): void; componentWillUnmount(): void; handleOnDragStart: (ev: DraggableEvent, data: DraggableData) => void; handleOnDrag: (ev: DraggableEvent, data: DraggableData) => void; handleOnDragStop: (ev?: MouseEvent | React.MouseEvent | React.TouchEvent | TouchEvent | undefined, data?: DraggableData | undefined) => void; handleOnMouseDown: (ev: MouseEvent) => void; render(): React.ReactElement | null; private elementRef; }