/**
 * Run the tests recursively.
 *
 * When the debugger is attached, we ignore any timeouts.
 *
 * @param {import("./config.js").TestConfig} testConfig
 * @param {import("./state.js").TestState} testState
 * @param {Partial<Pick<import("./config.js").TestConfig, "timeout">>} [configOverrides]
 * @returns {Promise<void>}
 */
export function runTestsRecursively(testConfig: import("./config.js").TestConfig, testState: import("./state.js").TestState, configOverrides?: Partial<Pick<import("./config.js").TestConfig, "timeout">>): Promise<void>;
/**
 * Register top-level tests. The main entry point of the test runner
 *
 * @since 0.1.0
 *
 * @type {(name: string, callback: import("./state.js").TestCallback) => void}
 */
export const test: (name: string, callback: import("./state.js").TestCallback) => void;
