/// import { URL } from 'url'; import { ICookie } from '@secret-agent/core-interfaces/ICookie'; import ITypedEventEmitter from '@secret-agent/core-interfaces/ITypedEventEmitter'; import { IPuppetPage } from './IPuppetPage'; import IBrowserEmulationSettings from './IBrowserEmulationSettings'; import { IPuppetWorker } from './IPuppetWorker'; export default interface IPuppetContext extends ITypedEventEmitter { emulation: IBrowserEmulationSettings; workersById: Map; newPage(): Promise; close(): Promise; getCookies(url?: URL): Promise; addCookies(cookies: (Omit & { expires?: string | Date | number; })[], origins?: string[]): Promise; } 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; }; }