import { Dispatcher } from '../../bus';
import { Translator } from '../../l10n';
import { PDFDocumentProxy } from '../../pdfjs';
import { Renderable, ViewerType } from '../../viewer';
import { Thumbnail } from './thumbnail';
export declare class ThumbnailViewer extends Dispatcher implements Renderable {
    protected readonly container: HTMLDivElement;
    protected readonly viewer: ViewerType;
    protected readonly translator: Translator;
    protected readonly abortSignal?: AbortSignal | undefined;
    private pdfDocument?;
    private thumbnails;
    private _pageLabels?;
    private _rotation;
    private currentPageNumber;
    private scroll;
    constructor(container: HTMLDivElement, viewer: ViewerType, translator: Translator, abortSignal?: AbortSignal | undefined);
    get eventBus(): import('../../bus').EventBus<Record<string, import('../../bus').ListenerCallback>, string>;
    get signal(): AbortSignal | undefined;
    get logger(): import('../../viewer/logger').Logger;
    getThumbnail(index: number): Thumbnail;
    private getVisibleThumbs;
    scrollIntoView(pageNumber: number): void;
    get rotation(): number;
    set rotation(rotation: number);
    cleanup(): void;
    destroy(): void;
    private reset;
    setDocument(pdfDocument?: PDFDocumentProxy): void;
    get pageLabels(): undefined | string[];
    set pageLabels(labels: undefined | string[]);
    private ensurePdfPageLoaded;
    private getScrollAhead;
    forceRendering(): boolean;
}
