import { AbstractComponent } from '../core/base';
import type { ScrollBarAttributes } from './type';
import type { ComponentOptions } from '../interface';
type ComponentBounds = {
    x1: number;
    y1: number;
    x2: number;
    y2: number;
    width: number;
    height: number;
};
export declare class ScrollBar extends AbstractComponent<Required<ScrollBarAttributes>> {
    name: string;
    static defaultAttributes: {
        direction: string;
        round: boolean;
        sliderSize: number;
        sliderStyle: {
            fill: string;
        };
        railStyle: {
            fill: string;
        };
        padding: number;
        scrollRange: number[];
        delayType: string;
        delayTime: number;
        realTime: boolean;
    };
    private _container;
    private _slider;
    private _rail;
    private _sliderRenderBounds;
    private _sliderLimitRange;
    private _prePos;
    private _viewPosition;
    private _sliderSize;
    constructor(attributes: ScrollBarAttributes, options?: ComponentOptions);
    setScrollRange(range: [number, number], render?: boolean): void;
    getScrollRange(): [number, number];
    protected bindEvents(): void;
    protected render(): void;
    getSliderRenderBounds(): ComponentBounds;
    private _getDefaultSliderCornerRadius;
    private _getSliderPos;
    private _getScrollRange;
    private _onRailPointerDown;
    private _onSliderPointerDown;
    private _computeScrollValue;
    private _onSliderPointerMove;
    private _onSliderPointerMoveWithDelay;
    private _clearDragEvents;
    private _onSliderPointerUp;
    private _reset;
}
export {};
