import type { IUnitMark } from '../liveness/i-unit-mark.js'; import type { AppErrorImpl } from '../result/errors.js'; import { type Result } from '../result/result.js'; /** * ONE rule-level markable list of a gate rule — a policy / doc-reference * rule's `files`, a generated rule's `generatedGlob`, a baseline's * `watchFiles` — through core's one parser (round 13): the list becomes the * plain units, each `{ pattern, expectEmpty: true }` entry a mark (`list: * field`) merged into the rule's `expectEmptyUnits`. * * THE normaliser for these lists: the config loader and the pack merge seam * reach it through `normalizePlaneRule`, and the plane engines * (`runPolicyLint` / `evaluatePolicy`, `checkDocReferences`, the generated * scan) call it at entry. IDEMPOTENT and identity-preserving: a rule whose * list is already plain strings comes back as the SAME object, so an engine's * per-rule memo still hits. An absent list is left absent. */ export declare function normalizeRuleList(rule: T, field: keyof T & string): Result; //# sourceMappingURL=normalize-rule-list.d.ts.map