import { Messages } from '@salesforce/core'; import { Progress, Spinner } from '@salesforce/sf-plugins-core'; import type { EngineBundle } from '../port/executionEngine.js'; import { ApexMutationParameter } from '../type/ApexMutationParameter.js'; import { ApexMutationTestResult } from '../type/ApexMutationTestResult.js'; import { type OutputSink } from './engineNotice.js'; export declare class MutationTestingService { protected readonly progress: Progress; protected readonly spinner: Spinner; private readonly engine; protected readonly messages: Messages; private readonly outputSink; protected readonly apexClassName: string; protected readonly apexTestClassNames: string[]; protected readonly dryRun: boolean; protected readonly includeMutators: string[] | undefined; protected readonly excludeMutators: string[] | undefined; protected readonly includeTestMethods: string[] | undefined; protected readonly excludeTestMethods: string[] | undefined; private readonly skipPatterns; private readonly allowedLines; private readonly requestedLines; private readonly mutationGroupingEnabled; private readonly testClassOrigins; private readonly testClassResolutions; private apexClassContent; constructor(progress: Progress, spinner: Spinner, engine: EngineBundle, { apexClassName, apexTestClassNames, dryRun, includeMutators, excludeMutators, includeTestMethods, excludeTestMethods, skipPatterns, lines, mutationGrouping, testClassOrigins, testClassResolutions, }: ApexMutationParameter, messages: Messages, outputSink?: OutputSink); private get testClassPerimeter(); process(): Promise; private planGroups; calculateScore(mutationResult: ApexMutationTestResult): number; private filterTestMethods; private fetchApexClass; private discoverTypes; private runBaselineTests; private prepareBaseline; private assertUsableBaseline; private stopBaselineSpinner; private abandonBaselineSpinner; private reducePerimeterFromBaseline; private toCompileSkips; private findZeroContributionTestClasses; private announceSkips; private extractCoveredLines; private generateMutations; private buildNoMutationsError; private buildMutatorFilter; private displayTimeEstimate; private buildDryRunResult; private executeMutationLoop; private executeMutationLoopWithRollback; private stopProgress; private rollbackAfterLoopFailure; private rollback; }