import { CancellablePromise } from '@theintern/common';
import Tunnel, { ChildExecutor, NormalizedEnvironment, TunnelProperties } from './Tunnel';
import { JobState } from './interfaces';
export default class CrossBrowserTestingTunnel extends Tunnel implements CrossBrowserTestingProperties {
    cbtVersion: string;
    constructor(options?: CrossBrowserTestingOptions);
    get auth(): string;
    get extraCapabilities(): {
        username: string | undefined;
        password: string | undefined;
    };
    get isDownloaded(): boolean;
    download(forceDownload?: boolean): CancellablePromise<void>;
    protected _makeArgs(readyFile: string): string[];
    sendJobState(jobId: string, data: JobState): CancellablePromise<void>;
    protected _start(executor: ChildExecutor): CancellablePromise<any>;
    protected _normalizeEnvironment(environment: any): NormalizedEnvironment;
}
export interface CrossBrowserTestingProperties extends TunnelProperties {
    cbtVersion: string;
}
export declare type CrossBrowserTestingOptions = Partial<CrossBrowserTestingProperties>;
