/**
 * Normalizer schema version (mirrors `PROMPT_BUILDER_VERSION`). Bump on ANY change
 * to the strip rules below → the replay provenance hash flips → a re-record is
 * forced (Tenet-15). The version is BOTH a human-readable pin and an integrity
 * lever; never edit a rule without bumping it.
 */
export declare const REVIEW_CHROME_NORMALIZER_VERSION = "review-chrome-normalizer:v1";
/**
 * Strip presentational review-bot chrome from a comment body, returning the
 * de-chromed text. DETERMINISTIC + IDEMPOTENT + AUDIT-PRESERVING (the caller
 * retains the raw body). Removes severity badges (markdown + HTML images),
 * `<details>` collapsibles, and HTML comments, then normalizes line endings and
 * collapses runaway blank runs.
 *
 * FENCED CODE BLOCKS ARE PRESERVED VERBATIM (CR #2242): the body is partitioned on
 * triple-backtick fences and the strips run ONLY on the prose between them, so a
 * chrome-looking token INSIDE a code fence (the reviewer's literal example) is
 * never deleted. It also does not touch the reviewer's prose words — over-stripping
 * would drop the very invariant the extractor mines. A body with no chrome (e.g. a
 * human comment) is returned unchanged apart from CRLF→LF + trim.
 */
export declare function normalizeReviewChrome(body: string): string;
//# sourceMappingURL=review-normalize.d.ts.map