import { z } from "zod"; /** * One value in an `EnumerationRecipe`. Compiles to a Sitecore item that * conforms to the per-site `Enumeration Value` template (NOT the * `Enumeration` template — that one is for the per-enum container). * `Enumeration Value` carries an `Enumeration` Template Section with a * single `Value` Single-Line Text shared field — see * `EnumerationRecipeSchema` for the full template structure. * * `name` — Sitecore item name and uuidv5 GUID seed for the * value item. Load-bearing: renaming `name` creates * a *different* value item and orphans every * existing reference. Also written to the `Value` * shared field on the value item, which is what * SXA-aware consumers (XM Cloud Pages, JSS variants, * custom Edge resolvers) read via the canonical * "picked item's Value field" pattern. * `displayName` — `__Display name` on the item, defaults to `name`. * What the editor's Droplink dropdown shows. Use * this to change the visible label without touching * `name`. * `description` — optional per-value guidance: *when to pick this * value over its siblings*. Lands on the value * item's `__Help text` field (surfaces in the * Content Editor tooltip) AND travels in the * published recipe JSON, so an agent composing a * page has the discriminating context a bare * `displayName` can't carry (e.g. why choose * `link-arrow` over `link`). `displayName` labels * the option; `description` says when to use it. */ export declare const EnumerationValueSchema: z.ZodObject<{ name: z.ZodString; displayName: z.ZodOptional; description: z.ZodOptional; }, z.core.$strip>; export type EnumerationValue = z.infer; /** * A reusable enumeration — backs Droplink fields whose options are * shared across multiple components (color schemes, size scales, * spacing scales, etc.). Each value lands as a child item under * `/[/]/`. * * Reference from any field via `sitecore.enumHandle: ""`. On * re-push, adding a value to the enumeration surfaces it on every * referencing field automatically (the Droplink Source resolves by * location at editor time, so consumer field-definitions don't need * to change). * * Underlying template structure (emitted once per site by * `ensureEnumerationTemplates` — three distinct templates, each with * its own role; never collapsed): * * Enumerations Folder (Template — folder layers in the * enum content tree: site enumerations * root + per-folder grouping items) * └── __Standard Values Insert Options: * Enumeration, Enumerations Folder * * Enumeration (Template — per-enum CONTAINER items * like `Color Scheme`, `Heading Size`) * └── __Standard Values Insert Options: Enumeration Value * * Enumeration Value (Template — leaf VALUE items like * `primary`, `accent`, `lg`) * └── Enumeration (Template Section) * └── Value (Single-Line Text, shared) * * Each value item conforms to `Enumeration Value` and stores its `name` * on the `Value` shared field. That payload is what Droplink consumers * read via the SXA "picked item's Value field" pattern — without it, * components wired against the enum stay empty. * * The matching consumer-side surface is `Type=Droplink` (the default * for `shape: "enum"`). Inline Droplink (`shape: "enum"` with `values` * but no `enumHandle`) is unsupported — authors must either point at * an EnumerationRecipe via `enumHandle` or override `sitecore.type` to * `"droplist"` for an inline pipe-list dropdown. */ export declare const EnumerationRecipeSchema: z.ZodObject<{ kind: z.ZodLiteral<"enumeration">; schemaVersion: z.ZodLiteral<"1">; handle: z.ZodString; name: z.ZodString; displayName: z.ZodOptional; description: z.ZodOptional; location: z.ZodOptional; folder: z.ZodOptional]>, z.ZodTransform>, z.ZodArray>>; }, z.core.$strip>>; values: z.ZodArray; description: z.ZodOptional; }, z.core.$strip>>; default: z.ZodOptional; }, z.core.$strip>; export type EnumerationRecipe = z.input;