import { CancelableEmitter } from "./types";
import { InterceptedEvent } from "../events";
import { Config } from "../config";
import { BrowserPool } from "../browser-pool";
import { Workers } from "./index";
import type { Test } from "../types";
export interface BrowserRunner {
    on(event: InterceptedEvent, handler: (test: Test) => void): this;
}
export declare class BrowserRunner extends CancelableEmitter {
    private _browserId;
    private config;
    private browserPool;
    private suiteMonitor;
    private activeTestRunners;
    private workers;
    private running;
    constructor(browserId: string, config: Config, browserPool: BrowserPool, workers: Workers);
    get browserId(): string;
    addTestToRun(test: Test): boolean;
    waitTestsCompletion(): Promise<void>;
    private _runTest;
    cancel(error: Error): void;
    private passthroughEvents;
}
