import type { SourceFileInput } from '../pipeline/targeting'; /** The default `mutate` glob when the target config sets none. */ export declare const DEFAULT_MUTATE_PATTERNS: readonly string[]; /** * Read the source files Stryker will mutate (the `mutate` glob set), so the * dynamic-LLM pre-pass can target them. Resolves each match against `projectDir` * to the ABSOLUTE fileName the pre-pass + reporter key on. * * Uses Node 26's `glob` from `node:fs/promises` (an async iterator). It yields * paths RELATIVE to its `cwd` option, so each match is resolved against * `projectDir`. Negated `!`-patterns are not handled (matching the prior Bun * behaviour): each pattern is treated positively. An absent/empty `patterns` * falls back to {@link DEFAULT_MUTATE_PATTERNS}. * * @param projectDir The project root the globs and absolute fileNames resolve against. * @param patterns The `mutate` globs (the resolved Stryker `mutate` value), or empty for the default. * @returns Absolute-path source files (`{ fileName, content }`), de-duplicated. */ export declare function readMutateSources(projectDir: string, patterns: readonly string[] | undefined): Promise;