import { Browser, Page } from 'puppeteer';
import { PuppeteerOptions, PdfOptions, LoggingAdapter } from '../types.js';
/**
 * PDF generation engine using Puppeteer
 */
export declare class PdfEngine {
    private browser;
    private readonly logger;
    private readonly puppeteerOptions;
    private readonly pdfOptions;
    constructor(puppeteerOptions?: PuppeteerOptions, pdfOptions?: PdfOptions, logger?: LoggingAdapter);
    /**
     * Launch the browser if not already launched
     */
    launchBrowser(): Promise<Browser>;
    /**
     * Generate PDF from HTML content
     */
    generatePdf(html: string, headerTemplate?: string, footerTemplate?: string, customPdfOptions?: Partial<PdfOptions>): Promise<Buffer>;
    /**
     * Generate multiple PDF chunks concurrently
     */
    generateChunks(htmlChunks: Array<{
        html: string;
        header?: string;
        footer?: string;
    }>, maxConcurrency?: number): Promise<Buffer[]>;
    /**
     * Close the browser
     */
    close(): Promise<void>;
    /**
     * Check if browser is running
     */
    isRunning(): boolean;
    /**
     * Get browser process ID
     */
    getPid(): number | undefined;
    /**
     * Get browser path with fallbacks
     */
    private getBrowserPath;
    /**
     * Get browser version info
     */
    getBrowserVersion(): Promise<string>;
    /**
     * Create a new page with optimized settings
     */
    createOptimizedPage(): Promise<Page>;
    /**
     * Cleanup resources
     */
    cleanup(): Promise<void>;
}
//# sourceMappingURL=PdfEngine.d.ts.map