import type { EventEmitter } from 'node:events'; import type { CommandEndpoint } from '@wdio/protocols'; import type { Browser } from 'puppeteer-core/lib/esm/puppeteer/api/Browser.js'; import type { Dialog } from 'puppeteer-core/lib/esm/puppeteer/api/Dialog.js'; import type { Page } from 'puppeteer-core/lib/esm/puppeteer/api/Page.js'; import type { Frame } from 'puppeteer-core/lib/esm/puppeteer/api/Frame.js'; import ElementStore from './elementstore.js'; import type { ActiveListener } from './types.js'; export default class DevToolsDriver { commands: Record; elementStore: ElementStore; windows: Map; timeouts: Map; activeDialog?: Dialog; browser: Browser; currentFrame?: Page; currentWindowHandle?: string; currentFrameUrl?: string; activeListeners: ActiveListener[]; constructor(browser: Browser, pages: Page[]); private _createWindowHandle; private _targetCreatedHandler; private _targetDestroyedHandler; private addListener; private cleanupListeners; /** * Inits browser listeners and sets initial handlers for given pages. * Function is also intended to be used while reloading DevTools session. * @param browser Puppeteer Browser * @param pages Puppeteer page array */ initBrowser(browser: Browser, pages: Page[]): void; register(commandInfo: CommandEndpoint): (this: EventEmitter, ...args: any[]) => Promise; dialogHandler(dialog: Dialog): void; framenavigatedHandler(frame: Frame): void; setTimeouts(implicit?: number, pageLoad?: number, script?: number): void; getPageHandle(isInFrame?: boolean): Page; checkPendingNavigations(pendingNavigationStart?: number): Promise; } //# sourceMappingURL=devtoolsdriver.d.ts.map