import * as puppeteer from "puppeteer-core";
import { CookieJar } from 'request';
import { ElementHandle } from 'puppeteer-core';
export declare class Browser {
    private opts;
    private page;
    private consoleMessages;
    private puppeteer;
    private readonly dynamicPuppeteer;
    open(opts: BrowserOptions): Promise<{
        response: puppeteer.Response;
        body: string;
    }>;
    select(selector: string): Promise<ElementHandle<Element>[]>;
    private onBrowserReady;
    private onPageReady;
    private onResponse;
    private getConsoleMessages;
    has404(): boolean;
    private find404Errors;
    getPage(): puppeteer.Page | null;
}
export declare type ConsoleMessage = {
    type: string;
    text: string;
    source: puppeteer.ConsoleMessage;
};
export interface BrowserOptions {
    uri?: string;
    jar?: CookieJar;
    headless?: boolean;
    recordConsole?: boolean;
    outputConsole?: boolean;
    width?: number;
    height?: number;
    puppeteerLaunchOptions?: puppeteer.LaunchOptions;
}
