import { CommandsHandler } from '../commands/rpc_handler.js'; 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, silentLogs?: boolean); boot(poolManager: TestPoolManager, coverageManager?: CoverageManager): Promise; /** * Retrieves the CommandsHandler associated with a specific chunk / page. * * @param chunkId The unique identifier of the runner chunk. * @returns The associated CommandsHandler or undefined. */ getCommandsHandler(chunkId: string): CommandsHandler | undefined; /** * 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; }