import { OnDestroy } from '@angular/core';
import { IPDFViewerApplication } from './options/pdf-viewer-application';
import { IPDFViewerApplicationOptions } from './options/pdf-viewer-application-options';
import { PdfCspPolicyService } from './pdf-csp-policy.service';
import * as i0 from "@angular/core";
export declare class PDFScriptLoaderService implements OnDestroy {
    private readonly pdfCspPolicyService;
    private readonly csp_nonce;
    private _forceUsingLegacyES5;
    get forceUsingLegacyES5(): boolean;
    set forceUsingLegacyES5(value: boolean);
    onPDFJSInitSignal: import("@angular/core").WritableSignal<IPDFViewerApplication | undefined>;
    pdfjsVersion: string;
    private _needsES5;
    PDFViewerApplication: IPDFViewerApplication;
    PDFViewerApplicationOptions: IPDFViewerApplicationOptions;
    webViewerLoad: (cspPolicyService: PdfCspPolicyService) => void;
    ngxExtendedPdfViewerIncompletelyInitialized: boolean;
    constructor(pdfCspPolicyService: PdfCspPolicyService, csp_nonce: string);
    private addScriptOpChainingSupport;
    /**
     * Loads the browser-capability probe as a file (`assets/op-chaining-support.js`).
     * Same code as the inline probe, but it needs no `'unsafe-inline'` in the CSP.
     */
    private loadProbeFromFile;
    private createInlineScript;
    private isCSPAppliedViaMetaTag;
    private isCSPApplied;
    private createScriptElement;
    private getPdfJsPath;
    private loadViewer;
    ensurePdfJsHasBeenLoaded(useInlineScripts: boolean, forceUsingLegacyES5: boolean, forceReload: boolean): Promise<boolean>;
    ngOnDestroy(): void;
    private iOSVersionRequiresES5;
    private needsES5;
    /**
     * zone.js replaces the global Promise with its own ZoneAwarePromise, which only
     * implements the static methods that existed when that zone.js was written. Every
     * newer static silently disappears - even in browsers that support it natively.
     *
     * Angular 19 and 20 still use zone.js by default (21 and 22 are zoneless), so this
     * is not a "very old browser" workaround: it is what keeps pdf.js working on the
     * current Angular LTS versions.
     *
     * - `Promise.withResolvers`: zone.js 0.13.3 (Angular 16) overwrites it with undefined.
     * - `Promise.try`: pdf.js 6.2 calls it in `src/shared/message_handler.js` for every
     *   worker round-trip, so without this polyfill nothing renders at all (#3259).
     */
    private polyfillPromiseStaticsDroppedByZoneJS;
    private ngxExtendedPdfViewerCanRunModernJSCode;
    static ɵfac: i0.ɵɵFactoryDeclaration<PDFScriptLoaderService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<PDFScriptLoaderService>;
}
