import { AfterViewInit, EventEmitter, OnChanges, OnDestroy, SimpleChange } from '@angular/core';
import { AlainConfigService } from '@delon/util/config';
import type { NzSafeAny } from 'ng-zorro-antd/core/types';
import { PdfChangeEvent, PdfExternalLinkTarget, PdfTextLayerMode, PdfZoomScale } from './pdf.types';
import * as i0 from "@angular/core";
type PDFDocumentProxy = NzSafeAny;
type EventBus = NzSafeAny;
type PDFFindController = NzSafeAny;
type PDFLinkService = NzSafeAny;
type PDFViewer = NzSafeAny;
export declare class PdfComponent implements OnChanges, AfterViewInit, OnDestroy {
    private readonly lazySrv;
    private readonly platform;
    private readonly _el;
    private readonly doc;
    private readonly cdr;
    private readonly ngZone;
    private readonly destroy$;
    inited: boolean;
    private lib;
    private _pdf?;
    private loadingTask?;
    private _src;
    private lastSrc?;
    private _pi;
    private _total;
    private _showAll;
    private _rotation;
    private _zoom;
    private _renderText;
    private _loading;
    private multiPageViewer?;
    private multiPageLinkService?;
    private multiPageFindController?;
    private singlePageViewer?;
    private singlePageLinkService?;
    private singlePageFindController?;
    private _eventBus?;
    set src(dataOrBuffer: NzSafeAny);
    set pi(val: number);
    set showAll(val: boolean);
    set renderText(val: boolean);
    textLayerMode: PdfTextLayerMode;
    showBorders: boolean;
    stickToPage: boolean;
    originalSize: boolean;
    fitToPage: boolean;
    set zoom(val: number);
    zoomScale: PdfZoomScale;
    set rotation(val: number);
    autoReSize: boolean;
    externalLinkTarget: PdfExternalLinkTarget;
    delay?: number;
    readonly change: EventEmitter<PdfChangeEvent>;
    get loading(): boolean;
    get pdf(): PDFDocumentProxy | undefined | null;
    get findController(): PDFFindController | undefined;
    get pageViewer(): PDFViewer | undefined;
    get linkService(): PDFLinkService | undefined;
    get eventBus(): EventBus | undefined;
    private get _textLayerMode();
    private get win();
    private get el();
    constructor(configSrv: AlainConfigService);
    private getValidPi;
    private emit;
    private initDelay;
    setLoading(status: boolean): void;
    private load;
    private resetDoc;
    private cleanDoc;
    private render;
    private timeExec;
    private updateSize;
    private getScale;
    private destroy;
    private setupPageViewer;
    private createEventBus;
    private setupMultiPageViewer;
    private setupSinglePageViewer;
    ngAfterViewInit(): void;
    private initResize;
    ngOnChanges(changes: {
        [p in keyof PdfComponent]?: SimpleChange;
    }): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<PdfComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PdfComponent, "pdf", ["pdf"], { "src": { "alias": "src"; "required": false; }; "pi": { "alias": "pi"; "required": false; }; "showAll": { "alias": "showAll"; "required": false; }; "renderText": { "alias": "renderText"; "required": false; }; "textLayerMode": { "alias": "textLayerMode"; "required": false; }; "showBorders": { "alias": "showBorders"; "required": false; }; "stickToPage": { "alias": "stickToPage"; "required": false; }; "originalSize": { "alias": "originalSize"; "required": false; }; "fitToPage": { "alias": "fitToPage"; "required": false; }; "zoom": { "alias": "zoom"; "required": false; }; "zoomScale": { "alias": "zoomScale"; "required": false; }; "rotation": { "alias": "rotation"; "required": false; }; "autoReSize": { "alias": "autoReSize"; "required": false; }; "externalLinkTarget": { "alias": "externalLinkTarget"; "required": false; }; "delay": { "alias": "delay"; "required": false; }; }, { "change": "change"; }, never, never, true, never>;
    static ngAcceptInputType_pi: unknown;
    static ngAcceptInputType_showAll: unknown;
    static ngAcceptInputType_renderText: unknown;
    static ngAcceptInputType_showBorders: unknown;
    static ngAcceptInputType_stickToPage: unknown;
    static ngAcceptInputType_originalSize: unknown;
    static ngAcceptInputType_fitToPage: unknown;
    static ngAcceptInputType_zoom: unknown;
    static ngAcceptInputType_rotation: unknown;
    static ngAcceptInputType_autoReSize: unknown;
    static ngAcceptInputType_delay: unknown;
}
export {};
