/// import * as childProcess from 'child_process'; import * as fs from 'fs'; import { ChildProcess } from 'child_process'; export declare type RimrafModule = (path: string, callback: (error: Error) => void) => void; export interface Options { startingUrl?: string; chromeFlags?: Array; port?: number; handleSIGINT?: boolean; chromePath?: string; userDataDir?: string | boolean; logLevel?: 'verbose' | 'info' | 'error' | 'silent'; ignoreDefaultFlags?: boolean; connectionPollInterval?: number; maxConnectionRetries?: number; envVars?: { [key: string]: string | undefined; }; } export interface LaunchedChrome { pid: number; port: number; process: ChildProcess; kill: () => Promise<{}>; } export interface ModuleOverrides { fs?: typeof fs; rimraf?: RimrafModule; spawn?: typeof childProcess.spawn; } declare function launch(opts?: Options): Promise; declare function killAll(): Promise>; declare class Launcher { private opts; private tmpDirandPidFileReady; private pidFile; private startingUrl; private outFile?; private errFile?; private chromePath?; private ignoreDefaultFlags?; private chromeFlags; private requestedPort?; private connectionPollInterval; private maxConnectionRetries; private fs; private rimraf; private spawn; private useDefaultProfile; private envVars; chrome?: childProcess.ChildProcess; userDataDir?: string; port?: number; pid?: number; constructor(opts?: Options, moduleOverrides?: ModuleOverrides); private get flags(); static defaultFlags(): string[]; /** Returns the highest priority chrome installation. */ static getFirstInstallation(): string | undefined; /** Returns all available chrome installations in decreasing priority order. */ static getInstallations(): string[]; makeTmpDir(): string; prepare(): void; launch(): Promise; private spawnProcess; private cleanup; private isDebuggerReady; waitUntilReady(): Promise; kill(): Promise<{}>; destroyTmp(): Promise; } export default Launcher; export { Launcher, launch, killAll };