/** The injection mode the driver applies to `allMutators`. */ export type InjectionMode = 'augment' | 'replace'; /** * The fully-parsed run options the driver consumes. Side-effect-free data; the * driver (`runLlmMutation`) turns this into the gating decision + Stryker options. */ export interface RunOptions { /** Project root (chdir + config root). Default: the parser's `cwd`. */ projectDir: string; /** `replace` for `--ours-only`, `augment` (default) for `--augment`. */ mode: InjectionMode; /** `false` for `--dry-run` (default), `true` for `--live`. */ live: boolean; /** `--mutate` globs (flattened comma-lists); empty = use the target config's own `mutate`. */ mutate: string[]; /** `--config-file` override, or `undefined` to probe the default names. */ configFile?: string; /** `--concurrency `, or `undefined` for Stryker's default. */ concurrency?: number; /** `--reporters ` (flattened), or `undefined` for the target config's reporters. */ reporters?: string[]; /** `--incremental` → `true`, `--no-incremental` → `false`, absent → `undefined`. */ incremental?: boolean; /** `--temp-dir `, or `undefined` for Stryker's default. */ tempDirName?: string; /** * `--frozen` → `true`, absent → `undefined`. When `true` it OVERRIDES the * config's `dynamicLLM.frozen` to force CACHE-ONLY (deterministic, free) LLM * re-scoring — the sanctioned CI gate. `undefined` leaves the config value * untouched (so a config that sets `frozen: true` still takes effect). Affects * dynamicLLM only; a heuristics-only run is already deterministic. */ frozen?: boolean; } /** A discriminated parse outcome: success carries options; failure carries a usage message. */ export type ParseResult = { ok: true; options: RunOptions; } | { ok: false; error: string; }; /** One-line usage string surfaced on any parse error. */ export declare const USAGE: string; /** * Parse the argument vector for `stryker-llm run` (the args AFTER the node/bin * prefix — i.e. `process.argv.slice(2)`). PURE: returns a {@link ParseResult}, * never throws and never touches process state. * * @param argv The raw argument list (subcommand-first). * @param cwd The default project dir when no positional is given. */ export declare function parseArgs(argv: readonly string[], cwd: string): ParseResult;