import { TestOptions } from "./option.js"; import { TestConfig } from "../config/config.js"; import type { TestCase, TestFunction, HookFunction } from "./testcase.js"; type SuiteType = "file" | "describe" | "project" | "root"; export declare class Suite { readonly title: string; readonly type: SuiteType; options?: TestOptions | undefined; parentSuite?: Suite | undefined; suites: Suite[]; tests: TestCase[]; source?: string; beforeAllHooks: HookFunction[]; afterAllHooks: HookFunction[]; beforeEachHooks: TestFunction[]; afterEachHooks: TestFunction[]; constructor(title: string, type: SuiteType, options?: TestOptions | undefined, parentSuite?: Suite | undefined); static from(data: Suite): Suite; static computeTransition(activeSuites: Suite[], targetSuites: Suite[]): { exit: Suite[]; enter: Suite[]; }; allTests(): TestCase[]; parentSuites(): Suite[]; titlePath(): string[]; } export declare const suiteFilePath: (suite: Suite) => string | undefined; export declare const getRootSuite: (config: Required) => Promise; export {};