import puppeteer from 'puppeteer'; export type Product = 'chrome' | 'firefox'; export interface IPuppeteerConfig { launchOptions?: puppeteer.LaunchOptions & puppeteer.BrowserLaunchArgumentOptions & puppeteer.BrowserConnectOptions & { product?: Product; extraPrefsFirefox?: Record; } userAgent?: string; viewPort?: { width: number; height: number; deviceScaleFactor?: number; isMobile?: boolean; isLandscape?: boolean; hasTouch?: boolean; }; waitFor?: puppeteer.WaitForOptions; extraHTTPHeaders?: Record; } export interface IOptions { puppeteerConfig?: IPuppeteerConfig; timeout?: number; puppeteer?:puppeteer.PuppeteerNode } export interface IRequest { method: string; url: string; headers: Record; body?: string; } export interface IResponse { readonly headers: Record; readonly ok: boolean; readonly status: number; readonly statusText: string; readonly url: string; json(): Promise; text(): Promise; _request: IRequest; }