/// import { CancellablePromise } from '@theintern/common'; import Tunnel, { TunnelProperties, DownloadOptions, ChildExecutor, NormalizedEnvironment } from './Tunnel'; import { Url } from 'url'; import { JobState } from './interfaces'; export default class BrowserStackTunnel extends Tunnel implements BrowserStackProperties { automateOnly: true; environmentUrl: string; killOtherTunnels: boolean; servers: (Url | string)[]; skipServerValidation: boolean; forceLocal: boolean; constructor(options?: BrowserStackOptions); get auth(): string; get executable(): string; get extraCapabilities(): Object; get url(): string; protected _postDownloadFile(data: Buffer, options?: DownloadOptions): Promise; protected _makeArgs(..._values: string[]): string[]; sendJobState(jobId: string, data: JobState): CancellablePromise; protected _start(executor: ChildExecutor): CancellablePromise; protected _stop(): Promise; protected _normalizeEnvironment(environment: any): NormalizedEnvironment; } export interface BrowserStackProperties extends TunnelProperties { automateOnly: true; killOtherTunnels: boolean; servers: (Url | string)[]; skipServerValidation: boolean; forceLocal: boolean; environmentUrl: string; } export declare type BrowserStackOptions = Partial;