/// import { URL } from 'url'; import ProtocolMapping from 'devtools-protocol/types/protocol-mapping'; import { ICookie } from './ICookie'; import ITypedEventEmitter from './ITypedEventEmitter'; import { IPuppetPage } from './IPuppetPage'; import { IPuppetWorker } from './IPuppetWorker'; export default interface IPuppetContext extends ITypedEventEmitter { id: string; workersById: Map; defaultPageInitializationFn: (page: IPuppetPage) => Promise; sendWithBrowserDevtoolsSession(method: T, params?: ProtocolMapping.Commands[T]['paramsType'][0]): Promise; newPage(options?: IPuppetPageOptions): Promise; close(): Promise; getCookies(url?: URL): Promise; addCookies(cookies: (Omit & { expires?: string | Date | number; })[], origins?: string[]): Promise; } export interface IPuppetPageOptions { runPageScripts: boolean; triggerPopupOnPageId?: string; } export interface IPuppetContextEvents { page: { page: IPuppetPage; }; worker: { worker: IPuppetWorker; }; 'devtools-message': { direction: 'send' | 'receive'; timestamp: Date; pageTargetId?: string; workerTargetId?: string; frameId?: string; sessionType: 'page' | 'worker' | 'browser'; sessionId: string; method?: string; id?: number; params?: any; error?: any; result?: any; }; }