import { BaseTreeViewer } from './BaseTreeViewer';
import { Attachment } from './AttachmentViewer';
import { EventBus, PDFDocumentProxy, IDownloadManager, IL10n, IPDFLinkService } from './viewer/types';
type Outline = {
    count: number;
    items: Outline[];
    url?: string;
    newWindow?: boolean;
    action?: string;
    attachment?: Attachment;
    dest?: any;
    setOCGState?: Object;
    bold?: boolean;
    italic?: boolean;
    title: string;
};
type PDFOutlineViewerRenderParameters = {
    outline?: Outline[];
    pdfDocument: PDFDocumentProxy;
};
export declare class PDFOutlineViewer extends BaseTreeViewer<PDFOutlineViewerRenderParameters> {
    readonly options: {
        container: HTMLDivElement;
        eventBus: EventBus;
        l10n: IL10n;
        linkService: IPDFLinkService;
        downloadManager: IDownloadManager;
    };
    private outline?;
    private pdfDocument?;
    private currentPageNumber;
    private isPagesLoaded?;
    private currentOutlineItemCapability?;
    private pageNumberToDestHashCapability?;
    private sidebarView?;
    constructor(options: {
        container: HTMLDivElement;
        eventBus: EventBus;
        l10n: IL10n;
        linkService: IPDFLinkService;
        downloadManager: IDownloadManager;
    });
    reset(): void;
    protected dispatchEvent(outlineCount: number): void;
    protected addToggleButton(div: HTMLDivElement, { count, items }: Outline): void;
    protected toggleAllTreeItems(): void;
    protected render({ outline, pdfDocument }: PDFOutlineViewerRenderParameters): void;
    private currentOutlineItem;
    private setStyles;
    private bindLink;
    private getPageNumberToDestHash;
}
export {};
