import { Runnable, IBootContext } from '@tsdi/boot';
import { ISuiteDescribe, ICaseDescribe } from '../reports/ITestReport';
import { ISuiteRunner } from './ISuiteRunner';
/**
 * Suite runner.
 *
 * @export
 * @class SuiteRunner
 * @implements {IRunner<any>}
 */
export declare class SuiteRunner extends Runnable<any> implements ISuiteRunner {
    timeout: number;
    describe: string;
    configureService(ctx: IBootContext): Promise<void>;
    /**
     * get suite describe.
     *
     * @returns {ISuiteDescribe}
     * @memberof SuiteRunner
     */
    getSuiteDescribe(): ISuiteDescribe;
    run(data?: any): Promise<any>;
    runSuite(desc: ISuiteDescribe): Promise<void>;
    runTimeout(key: string, describe: string, timeout: number): Promise<any>;
    runBefore(describe: ISuiteDescribe): Promise<void>;
    runBeforeEach(): Promise<void>;
    runAfterEach(): Promise<void>;
    runAfter(describe: ISuiteDescribe): Promise<void>;
    runTest(desc: ISuiteDescribe): Promise<void>;
    runCase(caseDesc: ICaseDescribe): Promise<ICaseDescribe>;
    static ρAnn(): any;
}
