/** * Darwin CLI — shared parser for the advanced evolution-config flags. * * Both `darwin run` and `darwin evolve` accept the same knobs that toggle the * v0.6/v0.7 evolution config (GEPA reflective optimizer, system-aware merge, * Pareto activation gate, instance-wise coverage selection, and the reflection * model). This module centralises the flag spelling + parsing so the two * commands stay in sync. * * --gepa / --no-gepa * --merge / --no-merge * --pareto-gate / --no-pareto-gate * --coverage / --no-coverage * --reflection-model * --demos / --no-demos (v0.10.0) * --candidate-selection (v0.10.0) * --skip-perfect / --no-skip-perfect (v0.11.0) * --max-merge (v0.11.0) * --max-test-days (v0.13.0) */ import type { EvolutionConfigOverride } from '../types.js'; /** True when `arg` is one of the evolution-config flags this module handles. */ export declare function isEvolutionConfigFlag(arg: string): boolean; /** * Apply a single recognised evolution flag to `target`, mutating it in place. * * Returns the number of EXTRA argv tokens consumed (1 for `--reflection-model` * which takes a value, 0 for the boolean flags). Callers that walk argv use the * return value to advance their index. Unknown flags are ignored (return 0) — * use {@link isEvolutionConfigFlag} to gate first. */ export declare function applyEvolutionFlag(arg: string, nextArg: string | undefined, target: EvolutionConfigOverride): number; /** * Parse an argv slice into an {@link EvolutionConfigOverride}, returning the * override plus the tokens that were NOT consumed (so the caller can keep * parsing its own flags / positionals). Only the evolution-config flags above * are recognised; everything else is passed through untouched. */ export declare function parseEvolutionConfigFlags(args: string[]): { override: EvolutionConfigOverride; rest: string[]; }; /** True when the override carries at least one set flag. */ export declare function hasAnyEvolutionFlag(override: EvolutionConfigOverride): boolean; //# sourceMappingURL=evolution-flags.d.ts.map