import { Hooks } from '@poppinss/hooks';
import { Suite } from './main';
import { Emitter } from '../emitter';
/**
 * Run all groups or tests inside the suite stack
 */
export declare class SuiteRunner {
    private suite;
    private hooks;
    private emitter;
    /**
     * Reference to the startup runner
     */
    private setupRunner;
    /**
     * Reference to the cleanup runner
     */
    private teardownRunner;
    /**
     * Test errors
     */
    private errors;
    /**
     * Track if test has any errors
     */
    private hasError;
    constructor(suite: Suite<any>, hooks: Hooks, emitter: Emitter);
    /**
     * Notify the reporter about the suite start
     */
    private notifyStart;
    /**
     * Notify the reporter about the suite end
     */
    private notifyEnd;
    /**
     * Running setup hooks
     */
    private runSetupHooks;
    /**
     * Running teardown hooks
     */
    private runTeardownHooks;
    /**
     * Running setup cleanup functions
     */
    private runSetupCleanupFunctions;
    /**
     * Running teardown cleanup functions
     */
    private runTeardownCleanupFunctions;
    /**
     * Run the test
     */
    run(): Promise<void>;
}
