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