import { Checker, CheckResult } from '@stryker-mutator/api/check'; import { Mutant } from '@stryker-mutator/api/core'; import { Logger } from '@stryker-mutator/api/logging'; import { NativeTypescriptCompiler } from './native-typescript-compiler.js'; /** * An experimental type checker implementation that uses the native TypeScript * compiler preview (TypeScript 7) to validate type errors of mutants. * * The native compiler API does not (yet) expose the dependency graph between files, * so mutants are always checked one-by-one. This is slower, but also more accurate, * since a reported error always belongs to the single mutant that is checked. */ export declare class NativeTypescriptChecker implements Checker { private readonly logger; private readonly tsCompiler; static inject: ["logger", "tsCompiler"]; constructor(logger: Logger, tsCompiler: NativeTypescriptCompiler); /** * Starts the native typescript compiler and does a dry run */ init(): Promise; /** * Checks whether or not the mutants result in a compile error. * Will simply pass through if a mutated file isn't part of the typescript project. * Mutants are checked one at a time, so reported errors always belong to the mutant being checked. * @param mutants The mutants to check */ check(mutants: Mutant[]): Promise>; /** * Creates groups of the mutants. Mutants outside of the typescript project are grouped * together (they pass without type checking), all other mutants are checked one-by-one. * @param mutants All the mutants to group. */ group(mutants: Mutant[]): Promise; dispose(): void; private checkSingle; } //# sourceMappingURL=native-typescript-checker.d.ts.map