blob: 3f97b44eb9e32ed9efaff7589de7580fc6d17f03 [file] [log] [blame]
import { type ChromeReleaseChannel, type Process } from '@puppeteer/browsers';
import { EventEmitter } from '../utils/EventEmitter.js';
import { MapperCdpConnection } from './MapperCdpConnection.js';
/**
* BrowserProcess is responsible for running the browser and BiDi Mapper within
* it.
* 1. Launch Chromium (using Puppeteer for now).
* 2. Get `BiDi-CDP` mapper JS binaries using `MapperReader`.
* 3. Run `BiDi-CDP` mapper in launched browser using `MapperRunner`.
* 4. Bind `BiDi-CDP` mapper to the `BiDi server` to forward messages from BiDi
* Mapper to the client.
*/
export declare class BrowserInstance extends EventEmitter<Record<'message', string>> {
#private;
static run(channel: ChromeReleaseChannel, headless: boolean, verbose: boolean, chromeArgs?: string[]): Promise<BrowserInstance>;
constructor(mapperCdpConnection: MapperCdpConnection, browserProcess: Process);
sendCommand(plainCommand: string): Promise<void>;
close(): Promise<void>;
}