import { SuiteConfig } from './config';
export interface iTestRunnerResult {
    output: string[];
    exitCode: number;
}
export declare class SuiteExecution {
    config: SuiteConfig;
    readonly output: string;
    readonly exitCode: number | null;
    protected _output: string[];
    protected _exitCode: number | null;
    constructor(suiteConfig: SuiteConfig);
    run(callback: Function): void;
    protected _reset(): void;
    protected _onBefore(): void;
    protected _onAfter(exitCode: number): void;
}
export declare class TestRunner {
    private suites;
    private _timeStart;
    static execute(filePath: string, opts: string): Promise<iTestRunnerResult>;
    addSuite(suiteConfig: SuiteConfig): void;
    reset(): void;
    getSuites(): SuiteExecution[];
    run(): void;
    private _onDone;
    private _onTestExit;
}
