import { CompareTag } from "../../model/compare.schema.js"; import { FieldDiff } from "./fieldDiff.js"; import { z } from "zod/v4"; //#region src/dev/mode-parity/compareRules.d.ts /** * Collapsed-path → tag map compiled from a zod schema, e.g. * `apy.totalApy` → `"offchainOnly"`, `totalDebt.value` → `{ tolerance: amount }`. **/ export type CompareRuleMap = Map; /** * Walks a schema and records every field that carries compare metadata. * * `"amount"` on an object (an Amount / TokenAmount) is stored * at `.value`; every other tag is stored at the field's own path. **/ export declare function compileCompareRules(schema: z.ZodType): CompareRuleMap; /** * Rules compiled for each row kind, e.g. `"pool"` vs `"strategy"`. **/ export type CompareRulesByKind = Record; /** * Tags one field diff using the rules compiled for its row kind. **/ export type TagDiff = (diff: FieldDiff, kind: string) => FieldDiff; /** * Tags diffs using the rules compiled for each row kind. * * Mode tags match the path or anything nested under it. Tolerance tags match * the path exactly and dispatch on {@link CompareTolerance}. **/ export declare function makeTagDiff(rulesByKind: CompareRulesByKind): TagDiff; //#endregion