import { PuppeteerExtra, PuppeteerExtraPlugin } from 'puppeteer-extra'; import { Browser, BrowserConnectOptions, BrowserLaunchArgumentOptions, ConnectOptions, LaunchOptions } from 'puppeteer'; import { DeviceDescriptor, FakeDeviceDescriptor } from './DeviceDescriptor.js'; export interface ProxyServer { proxyType: 'socks5' | 'socks4' | 'http' | 'https'; ipType: 'host' | 'pppoe' | 'resident' | 'tor'; proxy: string; exportIP: string; username?: string; password?: string; } export declare type VanillaLaunchOptions = LaunchOptions & BrowserLaunchArgumentOptions & BrowserConnectOptions; export declare type VanillaConnectOptions = ConnectOptions; export interface DriverParameters { doNotHook: boolean; deviceDesc: DeviceDescriptor; fakeDeviceDesc?: FakeDeviceDescriptor; displayUserActionLayer?: boolean; log?: boolean; proxy?: ProxyServer; userDataDir?: string; evasionPaths: string[]; usePlugins: PuppeteerExtraPlugin[]; } export interface LaunchParameters extends DriverParameters { maxSurvivalTime: number; launchOptions: VanillaLaunchOptions; } export interface ConnectParameters extends DriverParameters { connectOptions: VanillaConnectOptions; } export declare const kDefaultTimeout: number; export declare const kDefaultLaunchOptions: { headless: boolean; devtools: boolean; timeout: number; }; export default class Driver { private static checkParamsLegal; /** * Connect to browser * @param uuid * @param params */ static connect(uuid: string, params: ConnectParameters): Promise<{ vanillaBrowser: Browser; pptrExtra: PuppeteerExtra; }>; /** * Launch browser * @param uuid * @param defaultLaunchArgs * @param params */ static launch(uuid: string, defaultLaunchArgs: string[], params: LaunchParameters): Promise<{ vanillaBrowser: Browser; pptrExtra: PuppeteerExtra; }>; private static patchUAFromLaunchedBrowser; private static patchLaunchArgs; private static getPids; /** * Shutdown browser * @param browser */ static shutdown(browser: Browser): Promise; } //# sourceMappingURL=Driver.d.ts.map