/// <reference types="react" />
import { PureComponent } from '../component';
import { ScrollProps } from './Props';
export declare const BAR_WIDTH = 16;
declare class Scroll extends PureComponent<ScrollProps> {
    static defaultProps: {
        scrollHeight: number;
        scrollWidth: number;
        innerScrollAttr: never[];
    };
    baseScrollRatio: number;
    touchStartX: number;
    touchStartY: number;
    wheelX: boolean;
    wheelY: boolean;
    pixelX: number;
    pixelY: number;
    cacheWidth: number;
    cacheHeight: number;
    wheelElement: HTMLElement;
    inner: HTMLElement;
    footerElement: HTMLElement;
    rmOverScrollListener: () => void;
    constructor(props: ScrollProps);
    componentDidMount(): void;
    componentDidUpdate(prevProps: ScrollProps): void;
    componentWillUnmount(): void;
    getWheelRect(): {
        width: number;
        height: number;
    };
    setRect(): void;
    setBaseScrollHeightRatio(height: number): void;
    setStartPoint(position: {
        clientX: number;
        clientY: number;
    }): void;
    bindInner(el: HTMLDivElement): void;
    bindIframe(el: HTMLIFrameElement): void;
    bindWheel(el: HTMLDivElement): void;
    bindFooter(el: HTMLDivElement): void;
    boundleScroll(): void;
    handleWheel(event: WheelEvent): void;
    handleScroll(x: number, y: number, pixelX?: number, pixelY?: number, { drag }?: {
        drag?: boolean;
    }): void;
    handleScrollX(left: number): void;
    handleScrollY(top: number): void;
    handleTouchStart(e: TouchEvent): void;
    handleTouchMove(e: TouchEvent): void;
    handleInnerScroll(e: MouseEvent): void;
    render(): JSX.Element;
}
export default Scroll;
