import "jest-runtime"; import { SerializableError, Test, Test as Test$1, TestEvents, TestEvents as TestEvents$1, TestResult } from "@jest/test-result"; import { TestWatcher, TestWatcher as TestWatcher$1 } from "jest-watcher"; import { Config, Config as Config$1 } from "@jest/types"; //#region src/types.d.ts type OnTestStart = (test: Test$1) => Promise; type OnTestFailure = (test: Test$1, serializableError: SerializableError) => Promise; type OnTestSuccess = (test: Test$1, testResult: TestResult) => Promise; type TestRunnerOptions = { serial: boolean; }; type TestRunnerContext = { changedFiles?: Set; sourcesRelatedToTestsInChangedFiles?: Set; }; type UnsubscribeFn = () => void; interface CallbackTestRunnerInterface { readonly isSerial?: boolean; readonly supportsEventEmitters?: boolean; runTests(tests: Array, watcher: TestWatcher$1, onStart: OnTestStart, onResult: OnTestSuccess, onFailure: OnTestFailure, options: TestRunnerOptions): Promise; } interface EmittingTestRunnerInterface { readonly isSerial?: boolean; readonly supportsEventEmitters: true; runTests(tests: Array, watcher: TestWatcher$1, options: TestRunnerOptions): Promise; on(eventName: Name, listener: (eventData: TestEvents$1[Name]) => void | Promise): UnsubscribeFn; } declare abstract class BaseTestRunner { protected readonly _globalConfig: Config$1.GlobalConfig; protected readonly _context: TestRunnerContext; readonly isSerial?: boolean; abstract readonly supportsEventEmitters: boolean; constructor(_globalConfig: Config$1.GlobalConfig, _context: TestRunnerContext); } declare abstract class CallbackTestRunner extends BaseTestRunner implements CallbackTestRunnerInterface { readonly supportsEventEmitters = false; abstract runTests(tests: Array, watcher: TestWatcher$1, onStart: OnTestStart, onResult: OnTestSuccess, onFailure: OnTestFailure, options: TestRunnerOptions): Promise; } declare abstract class EmittingTestRunner extends BaseTestRunner implements EmittingTestRunnerInterface { readonly supportsEventEmitters = true; abstract runTests(tests: Array, watcher: TestWatcher$1, options: TestRunnerOptions): Promise; abstract on(eventName: Name, listener: (eventData: TestEvents$1[Name]) => void | Promise): UnsubscribeFn; } type JestTestRunner = CallbackTestRunner | EmittingTestRunner; //#endregion //#region src/index.d.ts declare class TestRunner extends EmittingTestRunner { #private; runTests(tests: Array, watcher: TestWatcher$1, options: TestRunnerOptions): Promise; on(eventName: Name, listener: (eventData: TestEvents$1[Name]) => void | Promise): UnsubscribeFn; } //#endregion export { CallbackTestRunner, CallbackTestRunnerInterface, Config, EmittingTestRunner, EmittingTestRunnerInterface, JestTestRunner, OnTestFailure, OnTestStart, OnTestSuccess, Test, TestEvents, TestRunnerContext, TestRunnerOptions, TestWatcher, UnsubscribeFn, TestRunner as default };