import { z } from "zod"; /** * A reusable layout chunk — header, footer, sidebar, byline. Lives at * `/sitecore/.../Presentation/Partial Designs/` on a tenant. Linked * by 1..n `PageDesignRecipe`s. Owns its own placeholders and pre-placed * renderings; the compiler emits the same layout XML form pages use. * * Identity: `partialDesignId(handle)` derives the deterministic GUID from * the recipe handle. */ export declare const PartialDesignRecipeSchema: z.ZodObject<{ kind: z.ZodLiteral<"partial-design">; schemaVersion: z.ZodLiteral<"1">; handle: z.ZodString; name: z.ZodString; displayName: z.ZodString; description: z.ZodOptional; icon: z.ZodOptional; layout: z.ZodObject<{ placeholders: z.ZodDefault>>>>; }, z.core.$strip>; }, z.core.$strip>; export type PartialDesignRecipe = z.input; /** * Brand-scoped sidecar variant for an existing rendering. A standalone * recipe that adds ONE new variant to an existing ComponentTemplateRecipe * without mutating it — schema-level "the canonical is sacred" enforcement. * * Compiles to two coordinated writes: * * 1. `HEADLESS_VARIANTS` per-rendering folder at * `//` (idempotent * via the executor's CreateOrUpdate semantics). * 2. `VARIANT_DEFINITION` item at * `//`. * * Pages discovers variants by **folder walk** — there is NO variant-list * field on the rendering item. Creating the item IS the registration. * Tree MUST be flat (`root//`) — wrapping in a * section-grouping intermediate makes Pages stop at the grouping folder * and never see the variants. See [`compile/component-template.ts`'s * `emitVariants`](compile/component-template.ts) for the verification * trail (live tenant 2026-05-31). * * `content` is the TSX source for the head-repo sidecar file. scai does * NOT consume it during recipe push — the install descriptor / file-drop * pipeline that runs alongside scai writes the file to the head repo's * `/..tsx` path, where * the Sitecore Content SDK's component-map generator * (`prepareComponentsForMap`) groups it with the canonical under one * map entry. Including it in this schema keeps the orchestrator-stored * row, the install descriptor, and the scai recipe all using one shape. * * No affordance to mutate the canonical's body, fields, params, or * datasource. Brand fidelity is a presentation concern; data-shape * changes belong on the canonical or as a new component. */ export declare const VariantRecipeSchema: z.ZodObject<{ kind: z.ZodLiteral<"variant">; schemaVersion: z.ZodLiteral<"1">; handle: z.ZodString; targetRendering: z.ZodObject<{ handle: z.ZodString; name: z.ZodString; }, z.core.$strip>; name: z.ZodString; displayName: z.ZodOptional; description: z.ZodOptional; content: z.ZodString; }, z.core.$strip>; export type VariantRecipe = z.input; /** * Maps page templates to a layout. Lives at * `/sitecore/.../Presentation/Page Designs/` on a tenant. Establishes * the templates-to-design mapping (the Sitecore SXA Page Designs root * field), lists which partial designs wrap content, and optionally adds * its own pre-placed renderings. * * Identity: `pageDesignId(handle)` derives the deterministic GUID from * the recipe handle. */ export declare const PageDesignRecipeSchema: z.ZodObject<{ kind: z.ZodLiteral<"page-design">; schemaVersion: z.ZodLiteral<"1">; handle: z.ZodString; name: z.ZodString; displayName: z.ZodString; description: z.ZodOptional; icon: z.ZodOptional; appliesTo: z.ZodDefault>; partials: z.ZodDefault>; layout: z.ZodOptional>>>>; }, z.core.$strip>>; }, z.core.$strip>; export type PageDesignRecipe = z.input;