import { PuppeteerLaunchOptions } from 'puppeteer';

declare enum Status {
    SUCCESS = 0,
    SESSION_ALREADY_ACTIVE = 1,
    NOT_INITIALIZED = 2,
    CONERSION_IN_PROGRESS = 3
}
interface WebpageToPdfOptions {
    options: PuppeteerLaunchOptions;
    parallelRequests: number;
    shareCookies: boolean;
}
type WebpageToPdfArgument = Partial<WebpageToPdfOptions>;
declare class WebpageToPdf {
    private isSessionActive;
    private isConversionInProgress;
    private cluster;
    private pdfCreator;
    private numPages;
    init(wtpArguments?: WebpageToPdfArgument): Promise<Status.SUCCESS | Status.SESSION_ALREADY_ACTIVE>;
    convertPageToPdf(url: string, headers?: Record<string, string>): Status;
    saveAllPagesToPdf(path: string): Promise<void>;
}

export { Status, type WebpageToPdfArgument, WebpageToPdf as default };
