import { ContentArea } from './ContentArea';
import { IReportController } from './Interfaces';
import { PageInfo } from './Models';
export declare class ScrollManager {
    private contentArea;
    private controller;
    private enabled;
    private placeholder;
    private pageContainer;
    private pageWrapper;
    private viewMode;
    private scrollInProgress;
    private additionalTopOffset;
    private onClickHandler;
    private debounceScroll;
    private throttleScroll;
    private oldScrollTopPosition;
    private lastLoadedPage;
    constructor(placeholder: HTMLElement, contentArea: ContentArea, controller: IReportController);
    private onPageLoaded;
    private onScaleChanged;
    private onInteractiveActionExecuting;
    getEnabled(): boolean;
    enable(): void;
    disable(): void;
    renderPage(pageInfo: PageInfo): void;
    navigateToElement(offsetTop: number, pageNumber: number): void;
    updatePageDimensionsReady(): void;
    private setCurrentPage;
    private updatePageArea;
    private navigateToPage;
    private updatePageContent;
    private currentPageNumber;
    private isSkeletonScreen;
    private addSkeletonScreen;
    private generateSkeletonScreens;
    private loadMorePages;
    private loadVisiblePages;
    private scrolledInToView;
    private render;
    private loadNextPreviousPage;
    private initEvents;
    private unbind;
    private clickPage;
    private advanceCurrentPage;
    private findNewCurrentPage;
    private findPageInViewPort;
    private scrollDown;
    private scrollUp;
    private keepCurrentPageInToView;
    private getAndRenderPage;
    private scrollToPage;
    private animateScroll;
    private findPageElement;
    private findElement;
    private findLastElement;
}
