import { BaseCoverageProvider } from 'vitest/coverage'; import { CoverageProvider, AfterSuiteRunMeta, ReportContext, ResolvedCoverageOptions } from 'vitest'; import { Vitest } from 'vitest/node'; interface TestExclude { new (opts: { cwd?: string | string[]; include?: string | string[]; exclude?: string | string[]; extension?: string | string[]; excludeNodeModules?: boolean; relativePath?: boolean; }): { shouldInstrument: (filePath: string) => boolean; glob: (cwd: string) => Promise; }; } type Options = ResolvedCoverageOptions<'v8'>; type Filename = string; type CoverageFilesByTransformMode = Record; type ProjectName = NonNullable | typeof DEFAULT_PROJECT; declare const DEFAULT_PROJECT: unique symbol; declare class V8CoverageProvider extends BaseCoverageProvider implements CoverageProvider { name: string; ctx: Vitest; options: Options; testExclude: InstanceType; coverageFiles: Map; coverageFilesDirectory: string; pendingPromises: Promise[]; initialize(ctx: Vitest): void; resolveOptions(): Options; clean(clean?: boolean): Promise; onAfterSuiteRun({ coverage, transformMode, projectName }: AfterSuiteRunMeta): void; reportCoverage({ allTestsRun }?: ReportContext): Promise; private getUntestedFiles; private getSources; private convertCoverage; } export { V8CoverageProvider };