/// import Protocol from 'devtools-protocol'; import IRegisteredEventListener from './IRegisteredEventListener'; import ITypedEventEmitter from './ITypedEventEmitter'; import IRect from './IRect'; import { IPuppetFrame, IPuppetFrameManagerEvents } from './IPuppetFrame'; import { IPuppetKeyboard, IPuppetMouse } from './IPuppetInput'; import { IPuppetNetworkEvents } from './IPuppetNetworkEvents'; import { IPuppetWorker } from './IPuppetWorker'; import IDevtoolsSession from './IDevtoolsSession'; import IPuppetDialog from './IPuppetDialog'; import IPuppetContext from './IPuppetContext'; export interface IPuppetPage extends ITypedEventEmitter { id: string; devtoolsSession: IDevtoolsSession; browserContext: IPuppetContext; mouse: IPuppetMouse; keyboard: IPuppetKeyboard; frames: IPuppetFrame[]; workers: IPuppetWorker[]; mainFrame: IPuppetFrame; opener?: IPuppetPage; isClosed: boolean; navigate(url: string, options?: { referrer?: string; }): Promise<{ loaderId: string; }>; dismissDialog(accept: boolean, promptText?: string): Promise; goBack(): Promise; goForward(): Promise; reload(): Promise; close(): Promise; bringToFront(): Promise; screenshot(format?: 'jpeg' | 'png', clipRect?: IRect & { scale: number; }, quality?: number): Promise; popupInitializeFn?: (page: IPuppetPage, openParams: { url: string; windowName: string; }) => Promise; setNetworkRequestInterceptor(networkRequestsFn: (request: Protocol.Fetch.RequestPausedEvent) => Promise): Promise; getIndexedDbDatabaseNames(): Promise<{ frameId: string; origin: string; databases: string[]; }[]>; setJavaScriptEnabled(enabled: boolean): Promise; evaluate(expression: string): Promise; addNewDocumentScript(script: string, isolateFromWebPageEnvironment: boolean): Promise; addPageCallback(name: string, onCallback?: (payload: any, frameId: string) => any): Promise; } export interface IPuppetPageEvents extends IPuppetFrameManagerEvents, IPuppetNetworkEvents { close: undefined; worker: { worker: IPuppetWorker; }; crashed: { error: Error; fatal?: boolean; }; console: { frameId: string; type: string; message: string; location: string; }; 'dialog-opening': { dialog: IPuppetDialog; }; filechooser: { frameId: string; selectMultiple: boolean; objectId: string; }; 'page-error': { frameId: string; error: Error; }; 'page-callback-triggered': { name: string; frameId: string; payload: any; }; }