import type { ApexClass } from '../type/ApexClass.js'; import type { ApexTestRunResult } from '../type/ApexTestRunResult.js'; import type { TestMethodId } from '../type/TestMethodId.js'; export declare const RUN_TESTS = "run-tests"; export declare const SKIP_TESTS = "skip-tests"; export type RestorePolicy = typeof RUN_TESTS | typeof SKIP_TESTS; export type MutantVerdict = { kind: 'not-compilable'; detail: string; } | { kind: 'executed'; result: ApexTestRunResult; }; export interface BaselineCompileFailure { classId: string; message: string; } export interface Baseline { outcome: string; testsRan: number; compileFailures: BaselineCompileFailure[]; otherFailureCount: number; testMethodsPerLine: Map>; fidelity: 'per-test' | 'aggregate'; cost: { applyMs: number; runMs: number; }; } export interface PrepareHooks { onVerifying(): void; onVerified(): void; onBaselineStarting(): void; } export declare class CompilationCheckFailedError extends Error { readonly reason: Error; constructor(reason: Error); } export interface MutationTestBed { prepare(original: ApexClass, perimeter: string[], hooks: PrepareHooks): Promise; evaluate(mutatedBody: string, tests: ReadonlySet): Promise; restore(policy: RestorePolicy): Promise; }