import type { Node } from '@babel/types'; /** * Parse a replacement source fragment into a single expression AST node, * wrapping in parens exactly as `instrument-worker.mjs` `parseFragment` does so * object/sequence-shaped fragments parse as expressions. Returns the parsed * {@link Node} on success, or `undefined` when the fragment is not a valid * expression (e.g. a statement-shaped replacement, or syntactically invalid * text) — the caller decides whether to drop-and-log. * * Pure and offline: `@babel/parser` does no I/O and no network. A FRESH node is * produced on every call (the parser allocates a new tree), which is exactly the * distinct-node-identity-per-yield property the `LLMMutator` relies on (yielding * the same node object for two candidates collapses them in Stryker's placement * map). */ export declare function parseReplacementFragment(code: string): Node | undefined;