import Hooks from './hooks';
import Tester from './tester';
import type { FN, Promisable, TestFlags } from './types';
declare class Describer<Context extends {} = {}> {
    describers: Describer<any>[];
    executed: boolean;
    flags: TestFlags;
    hooks: Hooks;
    testers: Tester[];
    title: string;
    constructor(title: string, flags: TestFlags);
    execute: () => Promise<void>;
    visit: ({ onDescriber, onTester, recursive }: {
        onDescriber?: FN<[Describer<{}>], Promisable<void>> | undefined;
        onTester?: FN<[Tester<{}>], Promisable<void>> | undefined;
        recursive?: boolean | undefined;
    }) => Promise<void>;
}
export default Describer;
