import type { AggregatedResult, Config, Reporter, ReporterOnStartOptions, Test, TestContext, TestResult } from '@jest/reporters'; import type { SlowtestConfig } from '../../../domain.objects/SlowtestConfig'; /** * .what = jest reporter implementation for slowtest * .why = collects test time via jest reporter lifecycle hooks */ export declare class SlowtestReporterJest implements Reporter { private config; private files; private thresholdMs; constructor(_globalConfig: Config.GlobalConfig, options?: SlowtestConfig); /** * .what = called when test run starts * .why = optional; can be used for init */ onRunStart(_results: AggregatedResult, _options: ReporterOnStartOptions): void; /** * .what = called after each test file completes * .why = collect per-file and per-test time data */ onTestFileResult(_test: Test, testResult: TestResult, _aggregatedResult: AggregatedResult): void; /** * .what = called when test file starts * .why = optional; not used for slowtest */ onTestFileStart(_test: Test): void; /** * .what = called when a test case result is available * .why = optional; we use onTestFileResult instead */ onTestCaseResult(_test: Test, _testCaseResult: unknown): void; /** * .what = called after all tests complete * .why = emit terminal report and write json file */ onRunComplete(_testContexts: Set, results: AggregatedResult): Promise; /** * .what = get the last error encountered * .why = required by Reporter interface */ getLastError(): Error | undefined; } export default SlowtestReporterJest;