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"; import type { ProfilerRuntimeLike } from "../profiler/runtime/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; private profiler; private cancelError; constructor(browserId: string, config: Config, browserPool: BrowserPool, workers: Workers, profiler?: ProfilerRuntimeLike); get browserId(): string; addTestToRun(test: Test): boolean; waitTestsCompletion(): Promise; private _runTest; cancel(error: Error): void; private passthroughEvents; }