import { Command } from 'commander'; import { type StrykerInvoker } from 'peaks-loop-mut'; import type { ProgramIO } from '../cli-helpers.js'; export interface MutCommandsOptions { readonly invokeStryker: StrykerInvoker; /** Where the command writes. Defaults to stdout/stderr. */ readonly io?: ProgramIO; } /** * Construct the `peaks mut` family as a standalone Commander command. * Returns the parent `mut` Command so callers can attach it under any * root program (used both by `registerMutCommands` in production and * directly by the unit tests). */ export declare function createMutCommands(opts: MutCommandsOptions): Command; /** * Program-level wiring: attach the `peaks mut` family to the root * program with the production Stryker invoker. Tests should use * `createMutCommands({ invokeStryker })` instead so the heavy * @stryker-mutator/core runtime stays out of the unit-test path. */ export declare function registerMutCommands(program: Command, io: ProgramIO): void; /** * `peaks mut report` — re-read a previously-written mut-report.json (no * Stryker / scan invocation). One-axis: --session-id required for the * audit trail. */ export declare function buildMutReportCommand(io: ProgramIO): Command;