import Tunnel, { TunnelProperties, ChildExecutor, NormalizedEnvironment } from './Tunnel';
import { CancellablePromise } from '@theintern/common';
import { JobState } from './interfaces';
export default class TestingBotTunnel extends Tunnel implements TestingBotProperties {
    directory: string;
    fastFailDomains: string[];
    logFile: string | null;
    useCompression: boolean;
    useJettyProxy: boolean;
    useSquidProxy: boolean;
    useSsl: boolean;
    constructor(options?: TestingBotOptions);
    get auth(): string;
    get isDownloaded(): boolean;
    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 TestingBotProperties extends TunnelProperties {
    fastFailDomains: string[];
    logFile: string | null;
    useCompression: boolean;
    useJettyProxy: boolean;
    useSquidProxy: boolean;
    useSsl: boolean;
}
export declare type TestingBotOptions = Partial<TestingBotProperties>;
