import type { TestCase, TestModule } from 'vitest/node'; import type { Reporter } from 'vitest/reporters'; import type { SlowtestConfig } from '../../../domain.objects/SlowtestConfig'; /** * .what = vitest reporter implementation for slowtest * .why = collects test time via vitest reporter lifecycle hooks */ export declare class SlowtestReporterVitest implements Reporter { private config; private modules; private thresholdMs; private startTime; constructor(options?: SlowtestConfig); /** * .what = called when vitest is initialized * .why = capture start time */ onInit(): void; /** * .what = called when a test run starts * .why = reset state for new run */ onTestRunStart(): void; /** * .what = called after a test case finishes * .why = collect per-test time data */ onTestCaseResult(testCase: TestCase): void; /** * .what = called when a test module finishes * .why = finalize module duration */ onTestModuleEnd(testModule: TestModule): void; /** * .what = called when test run completes * .why = emit terminal report and write json file */ onTestRunEnd(): Promise; }