///
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;
};
}