/// <reference types="node" />
import { Browser, ScreenshotClip, ScreenshotOptions } from 'puppeteer-core';
import { Config } from '../interface';
export interface PuppeteerProvider {
    browser: () => Promise<Browser>;
    ok: boolean;
}
export declare class RemotePuppeteerProvider implements PuppeteerProvider {
    _browser: Browser;
    endpoint: string;
    _ok: boolean;
    browser(): Promise<Browser>;
    constructor(config: Config);
    get ok(): boolean;
}
export declare class PuppeteerRender {
    browserHolders: PuppeteerProvider[];
    get browser(): Promise<Browser>;
    get ok(): boolean;
    constructor(providers: PuppeteerProvider[]);
    renderHTML(html: string, selector: string, onStart?: () => void, screenShotOption?: (clip: ScreenshotClip) => ScreenshotOptions): Promise<Buffer>;
    screenshotURL(url: string, selector: string, onStart?: () => void, screenShotOption?: (clip: ScreenshotClip) => ScreenshotOptions): Promise<Buffer>;
}
