/// <reference types="node" />
import { ChildProcess } from 'child_process';
export declare function getLauncher(): Promise<BrowserStart>;
export declare function openBrowser(browser: Browsers, url: string, keepAlive: boolean, launch: BrowserStart): Promise<BrowserInstance>;
export declare type Browsers = 'chrome-headless' | 'chrome' | 'chromium' | 'firefox' | 'opera' | 'safari' | 'ie';
export declare type BrowserStart = (uri: string, options: StartOption, cb: (err: Error | null, instance: BrowserInstance) => void) => void;
export declare type StartOption = {
    browser: Browsers;
    version?: string;
    proxy?: string;
    options?: string[];
    skipDefaults?: boolean;
    detached?: boolean;
    noProxy?: boolean;
    headless?: boolean;
};
export declare type BrowserInstance = {
    command: string;
    args: string[];
    image: string;
    processName: string;
    pid: number;
    process: ChildProcess;
    stdout: ChildProcess['stdout'];
    stderr: ChildProcess['stderr'];
    stop: () => void;
};
