import * as React from 'react';
import TableContext from './TableContext';
import { TableScrollLength } from './Table';
export interface ScrollbarProps {
    vertical?: boolean;
    length: number;
    scrollLength: number;
    scrollBarOffset: number;
    className?: string;
    classPrefix?: string;
    tableId?: string;
    onScroll?: (delta: number, event: React.MouseEvent) => void;
    onMouseDown?: (event: React.MouseEvent) => void;
    clickScrollLength: TableScrollLength;
    showScrollArrow?: boolean;
    [key: string]: any;
}
declare type Offset = {
    top: number;
    left: number;
    height?: number;
    width?: number;
};
declare type State = {
    barOffset: Offset;
    handlePressed: boolean;
};
declare class Scrollbar extends React.PureComponent<ScrollbarProps, State> {
    static get contextType(): typeof TableContext;
    static defaultProps: {
        classPrefix: string;
        scrollLength: number;
        length: number;
    };
    scrollOffset: number;
    mouseMoveTracker: null;
    handleRef: React.RefObject<HTMLDivElement>;
    barRef: React.RefObject<HTMLDivElement>;
    constructor(props: ScrollbarProps);
    componentDidMount(): void;
    componentDidUpdate(prevProps: any): void;
    componentWillUnmount(): void;
    onWheelScroll(delta: number): void;
    getMouseMoveTracker(): any;
    initBarOffset(): void;
    handleMouseDown: (event: React.MouseEvent<Element, MouseEvent>) => void;
    handleDragEnd: () => void;
    handleScroll(delta: number, event: React.MouseEvent): void;
    resetScrollBarPosition(forceDelta?: number): void;
    updateScrollBarPosition(delta: number, forceDelta?: number): void;
    releaseMouseMoves(): void;
    handleDragMove: (deltaX: number, deltaY: number, event: React.MouseEvent<Element, MouseEvent>) => void;
    /**
     * 点击滚动条，然后滚动到指定位置
     */
    handleClick: (event: React.MouseEvent<Element, MouseEvent>) => void;
    /**
     *
     * @param e
     * @param sort
     */
    handleArrowClick: (e: any, sort: any) => void;
    render(): JSX.Element;
}
export default Scrollbar;
