import type { Browser, LaunchOptions } from 'puppeteer';
import { ResumePage } from './ResumePage.js';
/**
 * Represents a browser to render resume
 */
export declare class ResumeBrowser {
    #private;
    constructor(browser: Browser);
    static launch(options?: LaunchOptions): Promise<ResumeBrowser>;
    isHeadless(): boolean;
    /**
     * Get a specific page of the browser. If the page does not exist, create it.
     * @returns Promise resolving with the requested page of the browser
     */
    getPage(number?: number): Promise<ResumePage>;
    /**
     * Render given content to the first page of the browser
     * @param content Content to render
     * @returns Promise resolving with first page of the browser
     */
    render(content: string): Promise<ResumePage>;
    /**
     * Render given error to the first page of the browser (if not in headless mode)
     * @param err Error to render
     * @returns Promise resolving with first page of the browser
     */
    error(err: unknown): Promise<ResumePage | undefined>;
    /**
     * Close the browser
     * @returns Promise resolving when browser is closed
     */
    close(): Promise<void>;
    /**
     * Write HTML and PDF files to the given directory
     * @param dir Directory to write files to
     * @param name Name of the files
     * @returns Promise resolving when files are written
     */
    writeFiles(dir: string, name: string): Promise<[void, void | Uint8Array<ArrayBufferLike>]>;
    /**
     * Add a preview button to the first page of the browser to open the given file
     * in a new tab (if not in headless mode)
     * @param fileUrl URL to the file to preview
     * @returns Promise resolving when button is added
     */
    addMenu(fileUrl: string): Promise<void>;
    /**
     * Reload the preview page (if not in headless mode)
     * @returns Promise resolving when page is reloaded
     */
    reloadPreview(): Promise<void>;
}
