/// <reference types="charm" />
import * as charm from 'charm';
import Test from '../Test';
import Suite from '../Suite';
import Coverage, { CoverageProperties } from './Coverage';
import Server from '../Server';
import { CoverageMessage, DeprecationMessage } from '../executors/Executor';
import WebDriver, { TunnelMessage } from '../executors/WebDriver';
export declare type Charm = charm.Charm;
export default class Runner extends Coverage {
    sessions: {
        [sessionId: string]: any;
    };
    hasErrors: boolean;
    serveOnly: boolean;
    private _summaryReporter;
    private _detailedReporter;
    protected charm: Charm;
    constructor(executor: WebDriver, config?: Partial<CoverageProperties>);
    coverage(message: CoverageMessage): void;
    deprecated(message: DeprecationMessage): void;
    error(error: Error): void;
    log(message: string): void;
    runEnd(): void;
    serverStart(server: Server): void;
    suiteEnd(suite: Suite): void;
    suiteStart(suite: Suite): void;
    testEnd(test: Test): void;
    tunnelDownloadProgress(message: TunnelMessage): void;
    tunnelStart(): void;
    tunnelStatus(message: TunnelMessage): void;
}
