/// import Tunnel, { TunnelProperties, DownloadOptions, ChildExecutor } from './Tunnel'; import { CancellablePromise } from '@theintern/common'; export default class SeleniumTunnel extends Tunnel implements SeleniumProperties { seleniumArgs: string[]; drivers: DriverDescriptor[]; baseUrl: string; version: string; seleniumTimeout: number; webDriverDataUrl: string | null; private _webDriverDataLoaded; constructor(options?: SeleniumOptions); get artifact(): string; get directory(): string; get executable(): string; get isDownloaded(): boolean; get url(): string; download(forceDownload?: boolean): CancellablePromise; sendJobState(): CancellablePromise; protected _updateWebDriverData(): CancellablePromise; protected _getDriverConfigs(): DriverFile[]; protected _makeArgs(): string[]; protected _postDownloadFile(data: Buffer, options: SeleniumDownloadOptions): Promise; protected _start(executor: ChildExecutor): CancellablePromise; } export interface DriverFile extends RemoteFile { seleniumProperty: string; } export interface RemoteFile { dontExtract?: boolean; directory?: string; executable: string; url: string; } export declare type DriverDescriptor = string | DriverFile | { name: string; version?: string; }; export interface SeleniumProperties extends TunnelProperties { seleniumArgs: string[]; drivers: DriverDescriptor[]; baseUrl: string; version: string; seleniumTimeout: number; } export declare type SeleniumOptions = Partial; export interface SeleniumDownloadOptions extends DownloadOptions { executable?: string; dontExtract?: boolean; }