import type { Severity } from "../types.js"; export interface FileOverrides { /** Rule ids suppressed for this file (severity `off`). */ off: Set; /** Rule id → display severity override (a real level only). */ severity: Map; } /** * Parses per-file `@lyse-overrides` JSDoc frontmatter: * * ``` * /** * * @lyse-overrides * * tokens/no-hardcoded-color: error * * stories/coverage: off * *\/ * ``` * * Accepted shapes (#226 — each of these previously parsed to ZERO entries, * silently disabling the whole block): * - CRLF line endings. * - Blank comment continuation lines (` *`) between entries. * - An entry on the same line as the tag (`@lyse-overrides tokens/x: off`). * - Multiple `@lyse-overrides` blocks in one file (entries are merged: * `off` unions; on a severity conflict the later block wins; `off` beats * a severity override for the same rule at the pipeline). * * A block's entries stop at the end of the comment (`*\/`) or at the first * line that is neither an entry nor a blank/decorative continuation (` *`, * ` * ----`). A tag only opens a block when everything before it on the * line is comment punctuation — a tag quoted in code or prose is inert. */ export declare function parseFileOverrides(source: string): FileOverrides;