import { Outline } from './../side-bar/outline-item/outline.model';
import { DownloadManager, PDFViewer } from 'pdfjs-dist/web/pdf_viewer.mjs';
import 'pdfjs-dist/build/pdf.worker';
import 'pdfjs-dist/build/pdf.mjs';
import { Subject } from 'rxjs';
import { SearchOperation, ToolbarEventService } from '../../../toolbar/toolbar-event.service';
import { PdfPosition } from '../../../store/reducers/document.reducer';
export declare class PdfJsWrapper {
    private readonly pdfViewer;
    private readonly downloadManager;
    private readonly toolbarEvents;
    readonly documentLoadInit: Subject<string>;
    readonly documentLoadProgress: Subject<DocumentLoadProgress>;
    readonly documentLoaded: Subject<any>;
    readonly outlineLoaded: Subject<Outline[]>;
    readonly documentLoadFailed: Subject<Error>;
    readonly pageRendered: Subject<PageEvent[]>;
    readonly positionUpdated: Subject<{
        location: PdfPosition;
    }>;
    private zoomValue;
    private documentTitle;
    private documentOutline;
    constructor(pdfViewer: PDFViewer, downloadManager: DownloadManager, toolbarEvents: ToolbarEventService, documentLoadInit: Subject<string>, documentLoadProgress: Subject<DocumentLoadProgress>, documentLoaded: Subject<any>, outlineLoaded: Subject<Outline[]>, documentLoadFailed: Subject<Error>, pageRendered: Subject<PageEvent[]>, positionUpdated: Subject<{
        location: PdfPosition;
    }>);
    sendSearchDetails(event: any): void;
    private emitDocumentInfo;
    loadDocument(documentUrl: string): Promise<void>;
    private createLoadingTask;
    private setOutlinePageNumbers;
    private setNestedOutlinePageNumbers;
    private getOutlinePageNumber;
    downloadFile(url: string, filename: string): void;
    setPageNumber(pageNumber: number): void;
    getPageNumber(): number;
    changePageNumber(numPages: number): void;
    search(operation: SearchOperation): void;
    clearSearch(): void;
    navigateTo(destination: string | any[]): void;
    nativeNavigate(destination: string | any[]): void;
    setZoom(zoomValue: number): void;
    stepZoom(zoomValue: number): void;
    private getZoomValue;
    rotate(rotation: number): number;
    resetRotation(rotation: number): number;
    getNormalisedPagesRotation(): number;
    getCurrentPDFZoomValue(): number;
    setCurrentPDFTitle(title: string): void;
    getCurrentPDFTitle(): string;
}
export interface DocumentLoadProgress {
    loaded: number;
    total: number;
}
export interface PageEvent {
    div: object;
    scale: number;
    rotation: number;
    id: string;
    viewportScale: number;
}
//# sourceMappingURL=pdf-js-wrapper.d.ts.map