import { IGroup, IBox, IBounds, IEventListenerId } from '@leafer-ui/interface';
import { Group, DragEvent } from '@leafer-ui/core';
import { IScrollBar, IScrollBarConfig, IScrollBarTheme } from '@leafer-in/interface';

declare class ScrollBar extends Group implements IScrollBar {
    target: IGroup;
    config: IScrollBarConfig;
    scrollXBar: IBox;
    scrollYBar: IBox;
    ratioX: number;
    ratioY: number;
    dragScrolling: boolean;
    scrollBounds: IBounds;
    get isOutside(): boolean;
    protected __dragOut: boolean | number;
    protected __eventIds: IEventListenerId[];
    constructor(target: IGroup, userConfig?: IScrollBarConfig);
    changeTheme(theme: IScrollBarTheme): void;
    update(check?: boolean): void;
    protected onDrag(e: DragEvent): void;
    protected onDragEnd(): void;
    protected __listenEvents(): void;
    protected __removeListenEvents(): void;
    destroy(): void;
}

export { ScrollBar };
