import { Hooks } from '@poppinss/hooks';
import { Group } from './main';
import { Emitter } from '../emitter';
/**
 * Run all tests for a given group
 */
export declare class GroupRunner {
    private group;
    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(group: Group<any>, hooks: Hooks, emitter: Emitter);
    /**
     * Notify the reporter about the group start
     */
    private notifyStart;
    /**
     * Notify the reporter about the group 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>;
}
