import type { CoverageManager } from './coverage_manager.js'; import type { TestPoolManager } from './test_pool_manager.js'; import type { Emitter } from '../testing/emitter.js'; import type { RunnerEvents } from '../types.js'; export type BrowserName = 'chromium' | 'firefox' | 'webkit'; export declare class BrowserManager { #private; constructor(browserNames: BrowserName[], verboseLogs: boolean, emitter: Emitter, configPath?: string); boot(poolManager: TestPoolManager, coverageManager?: CoverageManager): Promise; /** * Navigates a specific subset of pages (identified by chunkIds) to the runner URL * and waits for all of them to signal completion before resolving. * * Called once per priority wave by the Orchestrator. */ navigateAndWait(urlBase: string, chunkIds: string[]): Promise; extractCoverage(coverageManager: CoverageManager): Promise; close(): Promise; /** * Marks a chunk as started so the browser manager can detect unoptimized libraries. * This is called by the telemetry when a suite starts. */ markChunkAsStarted(chunkId: string): void; }