/// <reference types="charm" />
/// <reference types="istanbul-lib-coverage" />
import * as charm from 'charm';
import Test from '../Test';
import Suite from '../Suite';
import Coverage, { CoverageProperties } from './Coverage';
import { CoverageMap } from 'istanbul-lib-coverage';
import Server from '../Server';
import { CoverageMessage, DeprecationMessage } from '../executors/Executor';
import Node, { TunnelMessage } from '../executors/Node';
export declare type Charm = charm.CharmInstance;
export default class Runner extends Coverage implements RunnerProperties {
    sessions: {
        [sessionId: string]: {
            coverage?: CoverageMap;
            suite: Suite;
            [key: string]: any;
        };
    };
    hasRunErrors: boolean;
    hasSuiteErrors: boolean;
    hidePassed: boolean;
    hideSkipped: boolean;
    serveOnly: boolean;
    private _deprecationMessages;
    protected charm: Charm;
    constructor(executor: Node, options?: Partial<RunnerProperties>);
    coverage(message: CoverageMessage): void;
    deprecated(message: DeprecationMessage): void;
    error(error: Error): void;
    warning(warning: string | 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;
}
export interface RunnerProperties extends CoverageProperties {
    hidePassed: boolean;
    hideSkipped: boolean;
}
