import { Container } from "./Container";
import { BaseScene } from "../game";
import { ScrollViewConfig, ScrollDirection, BaseConfig } from "../types";
export interface ItemPosition {
    x: number;
    y: number;
}
export declare class ScrollView<T extends ScrollViewConfig = ScrollViewConfig> extends Container<T> {
    private _mask?;
    private _maskBounds?;
    protected _direction: ScrollDirection;
    private _scrollBar?;
    private _scrollState;
    protected _config?: T;
    constructor(scene: BaseScene, config: T);
    reDraw(config?: T): void;
    clear(): void;
    private initialize;
    private setupContent;
    private setupMask;
    private setupScrollBar;
    private createScrollBarConfig;
    addChild(child: Container): Container;
    setChildren(childConfigs?: BaseConfig[]): void;
    getItemsAtIndex(index: number): Container[];
    addedToScene(): void;
    private setupEvents;
    private handleDown;
    private handleMove;
    private handleUp;
    private calculateNewPosition;
    private updateContentPosition;
    private applyScrollMomentum;
    private updateScrollBarPosition;
    private updateVisibleItems;
    get scrollSize(): number;
    setPosition(x?: number, y?: number, z?: number, w?: number): this;
    protected get _lastChild(): Container | undefined;
    destroy(fromScene?: boolean): void;
}
//# sourceMappingURL=ScrollView.d.ts.map