/**
 * PDF-to-image renderer for embedded EMF PDFs.
 *
 * pdfjs-dist v5 has process-level shared state (PagesMapper.#pagesNumber,
 * GlobalWorkerOptions.workerSrc, PDFWorker.#isWorkerDisabled) that a library
 * must never touch on the main thread — doing so clobbers the host app's pdfjs
 * configuration.
 *
 * Solution: render EMF PDFs exclusively inside a dedicated Web Worker. The
 * worker loads its OWN pdfjs instance via dynamic import, so all static state
 * is fully isolated from the main thread.
 *
 * If Worker + OffscreenCanvas are unavailable (extremely rare in 2025+
 * browsers), rendering is skipped and the caller gets null — no main-thread
 * fallback, no global state pollution.
 */
export interface PdfjsOptions {
    /**
     * URL for the pdfjs ESM module, for example
     * `new URL('pdfjs-dist/build/pdf.min.mjs', import.meta.url).toString()`.
     */
    moduleUrl?: string;
    /**
     * URL for the pdfjs worker ESM module, for example
     * `new URL('pdfjs-dist/build/pdf.worker.min.mjs', import.meta.url).toString()`.
     */
    workerUrl?: string;
}
export type PdfjsConfig = PdfjsOptions | false;
/**
 * Render page 1 of a PDF to a blob URL image.
 *
 * Uses a dedicated Web Worker with its own pdfjs instance, fully isolated
 * from the main thread. Never touches GlobalWorkerOptions or any other
 * pdfjs global state on the main thread.
 *
 * @returns blob URL string, or null if rendering fails or Worker is unavailable
 */
export declare function renderPdfToImage(pdfData: Uint8Array, width: number, height: number, pdfjs?: PdfjsConfig): Promise<string | null>;
