import { TypedEventEmitter } from '@ulixee/commons/lib/eventUtils'; import IBrowserEngine from '@unblocked-web/specifications/agent/browser/IBrowserEngine'; import IBrowserLaunchArgs from '@unblocked-web/specifications/agent/browser/IBrowserLaunchArgs'; import IBrowser, { IBrowserEvents } from '@unblocked-web/specifications/agent/browser/IBrowser'; import Resolvable from '@ulixee/commons/lib/Resolvable'; import { IBrowserHooks, IHooksProvider } from '@unblocked-web/specifications/agent/hooks/IHooks'; import BrowserContext, { IBrowserContextCreateOptions } from './BrowserContext'; import DevtoolsSession from './DevtoolsSession'; export default class Browser extends TypedEventEmitter implements IBrowser { devtoolsSession: DevtoolsSession; readonly id: string; readonly engine: IBrowserEngine; readonly browserContextsById: Map; hooks: IBrowserHooks; get name(): string; get fullVersion(): string; get majorVersion(): number; get supportsBrowserContextProxy(): boolean; launchPromise: Resolvable; isLaunchStarted: boolean; private isShuttingDown; private connection; private process; private version; private preferencesInterceptor?; private get defaultBrowserContext(); constructor(engine: IBrowserEngine, hooks?: IHooksProvider, launchArgs?: IBrowserLaunchArgs); launch(): Promise; newContext(options?: IBrowserContextCreateOptions): Promise; getBrowserContext(id: string): BrowserContext; isEqualEngine(engine: IBrowserEngine): boolean; close(): Promise; isConnected(): boolean; protected bindDevtoolsEvents(): void; protected testConnection(): Promise; private applyDefaultLaunchArgs; private onAttachedToTarget; private onTargetCreated; private onTargetDestroyed; private onTargetCrashed; private onDetachedFromTarget; private onNewContext; }