import { type LlmMutatorConfig } from '../config'; /** * Stryker's supported config file names, in probe order, mirroring * `@stryker-mutator/core`'s `SUPPORTED_CONFIG_FILE_NAMES` * (`{'', '.'} × {.conf, .config} × {json, js, mjs, cjs}`). Kept as a local * constant rather than deep-imported so the reader does not pull Stryker core * (which is Node-only and would break `bun test`). */ export declare const SUPPORTED_CONFIG_FILE_NAMES: readonly string[]; /** The outcome of {@link readTargetConfig}: the parsed config + its source file. */ export interface ReadTargetConfigResult { /** The fully-defaulted, parsed `llmMutator` block. */ config: LlmMutatorConfig; /** * The absolute path to the config file that was read, or `undefined` when no * config file was found (then `config` is the all-defaults parse of `{}`). * The driver forwards this to Stryker as `configFile`. */ configFilePath?: string; /** * The target's own `excludedMutations` list, verbatim, when the config file * carries an array of strings under that key; omitted otherwise (absent key, * any other shape, or no config file). `plan.ts` decides what to do with it. */ excludedMutations?: readonly string[]; } /** * Locate the target stryker config file within `projectDir`, honoring an explicit * override. Returns the absolute path, or `undefined` if none exists. * * @param projectDir The project root to probe. * @param configFileOverride An explicit `--config-file` path (relative paths * resolve against `projectDir`). */ export declare function resolveConfigFilePath(projectDir: string, configFileOverride?: string): Promise; /** * Read and parse the target's `llmMutator` config block. * * Locates the config file (or uses the override), loads its options object, * extracts `options.llmMutator ?? {}`, and parses it with * `llmMutatorConfigSchema`. When NO config file is found, returns the all-defaults * parse of `{}` (heuristics-on / dynamicLLM-off) with no `configFilePath`. * * @param projectDir The project root. * @param configFileOverride An explicit `--config-file` path (optional). * @returns The parsed config and the resolved config file path (if any). */ export declare function readTargetConfig(projectDir: string, configFileOverride?: string): Promise;