export declare class ScrollGroup {
    scrollStopDelay: number;
    private scrollables;
    private isScrolling;
    private _focussedScrollable;
    constructor(scrollStopDelay?: number);
    add(scrollable: Scrollable): void;
    remove(scrollable: Scrollable): void;
    clear(): void;
    detachAtIndex(index: number): Scrollable;
    syncFollowers(source: Scrollable): void;
}
export interface Scrollable {
    scrollOffset: number;
    readonly scrollSize: number;
    readonly pageSize: number;
    attach(scrollGroup: ScrollGroup): void;
    detach(): void;
}
export declare class HTMLElementScrollable implements Scrollable {
    private _scrollGroup;
    readonly element: HTMLElement;
    private vertical;
    private onScrollEventListener;
    private onMouseEventListener;
    private onTouchEventListener;
    constructor(element: HTMLElement, vertical?: boolean);
    attach(scrollGroup: ScrollGroup): void;
    detach(): void;
    get scrollGroup(): ScrollGroup | null;
    get scrollOffset(): number;
    set scrollOffset(value: number);
    get scrollSize(): number;
    get pageSize(): number;
    onScrollEvent(event: Event): void;
    onTouchEvent(event: TouchEvent): void;
    onMouseEvent(event: MouseEvent): void;
}
