/// import { EventEmitter } from 'events'; import { Connection } from './connection'; import { Frame } from './frame.js'; import { Interceptor, InterceptorHandler } from './interceptor'; import { Logger } from './logger'; import { Page } from './page'; import { Target, TargetInitFn } from './target'; export interface BrowserConfig { chromeAddress: string; chromePort: number; cdpTimeout: number; navigationTimeout: number; stableBoxTimeout: number; suspendTargets: boolean; toolkitBinding: string; logger: Logger; } /** * Manages connection to Chrome browser. * * A browser instance connects to Chrome via Chrome DevTools Protocol (CDP) * using WebSocket endpoint (which becomes available once you start Chrome * with `--remote-debugging-port` flag). * * Note: even though Chrome supports multiple CDP connections; it is rarely practical * to establish more than one. Therefore, browser instance is commonly * managed as a singleton. * * @public */ export declare class Browser extends EventEmitter { connection: Connection; config: BrowserConfig; interceptors: Interceptor[]; targetInitFns: TargetInitFn[]; constructor(config?: Partial); get logger(): Logger; applyConfig(config: Partial): void; connect(): Promise; close(): Promise; disconnect(): void; isConnected(): boolean; newTab(browserContextId?: string): Promise; closeAllTabs(): void; getTarget(targetId: string): Target | null; getPage(targetId: string): Promise; attachedTargets(): IterableIterator; attachedPages(): IterableIterator; resolveFrameById(frameId: string): Promise; send(method: string, params?: any): Promise; sendAndForget(method: string, params?: any): void; http(pathname: string, readJson?: boolean): Promise; getVersion(): Promise; createBrowserContext(): Promise<{ browserContextId: string; }>; disposeBrowserContext(browserContextId: string): Promise; interceptRequests(handler: InterceptorHandler, label?: string): Interceptor; clearInterceptors(label?: string): void; addTargetInit(fn: TargetInitFn): void; } export interface BrowserVersion { browserVersion: string; protocolVersion: string; userAgent: string; v8Version: string; webkitVersion: string; webSocketDebuggerUrl: string; } //# sourceMappingURL=browser.d.ts.map