/** * @module explain * * B16 — read-only, PRNG-neutral introspection helper for `world.explain(schema)`. * * B23: walks the same `PIPELINE` list as `WorldImpl.generateObjectFields` with * `dryRun: true`. Each step that would fire writes a `{ identifier, reason }` * pair into `ctx.explainMeta`, which this module renders into the * `FieldExplanation` shape. The per-rung decision logic lives in the seven * step bodies in `src/pipeline.ts` — no duplication here. */ import type { ZodTypeAny } from "zod"; import type { ExplainResult } from "./types.js"; export interface ExplainInputs { /** Matchers registered on the most recent `withSchema(...)` for this schema. */ matchers: Record; /** Per-schema key-map (registered via `withKeyMap`). */ schemaKeyMap: Record; /** World-level custom generators (registered via `withGenerators`). */ customKeyGenerators: Map; /** Normalised relations for the schema (name → { schema, where }). */ relations: Record; } export declare function explainSchema(schema: TSchema, inputs: ExplainInputs): ExplainResult; //# sourceMappingURL=explain.d.ts.map