import { z } from "zod"; /** * Default taxonomy bucket on a `SiteTemplateRecipe`. Each bucket has a * root folder name (e.g. "Content Types") and a list of tag names that * become the default children. Sites can override the tag list * per-root via `SiteRecipe.taxonomyOverrides`. */ export declare const SiteTemplateTaxonomyEntrySchema: z.ZodObject<{ root: z.ZodString; defaultTags: z.ZodDefault>; }, z.core.$strip>; export type SiteTemplateTaxonomyEntry = z.infer; /** * A `SiteTemplateRecipe` defines a reusable brand/site shape — page * templates, designs, partials (transitively), insert-options matrix, * templates-to-designs mapping, dictionary structure, and taxonomy * structure. The Sitecore SXA "site template" the registry's catalog * ships as a single artifact. * * Many `SiteRecipe`s can reference one `SiteTemplateRecipe`. A * customer with three brands has three Sites instancing one Template; * that's the multi-brand demo pattern this kind enables. * * Identity: `templateId(handle)` derives the GUID — site templates * are regular Sitecore template items under `/sitecore/templates/Project/`, * not Sites-API-managed instances. Compile path goes through * Authoring GraphQL, not the Sites API. * * Cross-recipe handle resolution: `pageTemplates` and * `insertOptionsMatrix.*` resolve to `PageTemplateRecipe` handles; * `pageDesigns` and `templatesToDesigns.*` values resolve to * `PageDesignRecipe` handles. The cross-recipe validator * (`validateRecipeSet`) catches missing handles before push. */ export declare const SiteTemplateRecipeSchema: z.ZodObject<{ kind: z.ZodLiteral<"site-template">; schemaVersion: z.ZodLiteral<"1">; handle: z.ZodString; name: z.ZodString; displayName: z.ZodString; description: z.ZodOptional; icon: z.ZodOptional; pageTemplates: z.ZodDefault>; insertOptionsMatrix: z.ZodOptional>>; pageDesigns: z.ZodDefault>; templatesToDesigns: z.ZodOptional>; dictionaries: z.ZodDefault>; taxonomy: z.ZodOptional>; }, z.core.$strip>>>; thumbnail: z.ZodOptional; url: z.ZodString; alt: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"asset">; path: z.ZodString; alt: z.ZodOptional; }, z.core.$strip>], "kind">>; contents: z.ZodOptional>>; }, z.core.$strip>; export type SiteTemplateRecipe = z.input; /** * Site grouping — hostname + language binding. The Sitecore Sites API * `NewSiteInput.hostName` field receives `hostName`; multi-host * setups are configured via separate Site Hosts after creation * (Sites API has its own hosts surface for that, not modelled here). */ export declare const SiteGroupingSchema: z.ZodObject<{ hostName: z.ZodOptional; language: z.ZodOptional; targetHostName: z.ZodOptional; }, z.core.$strip>; export type SiteGrouping = z.infer; /** * A `SiteRecipe` instances a `SiteTemplateRecipe` at a specific path * with a specific hostname and language. Customers with multiple * brands ship multiple SiteRecipes pointing at the same template; * each gets its own hostname, content tree, taxonomy values, and * dictionary overrides. * * Identity: `siteId(handle)` derives a stable refKey for IR purposes. * The actual Sitecore site itemId is server-assigned by the Sites API * `createSite` mutation (which runs as a job — callers poll * `getJobStatus` until the site is materialised). * * Compile path: `SiteRecipe` execution goes through the Sites API * (`src/sites/api/`), not Authoring GraphQL. The compiler emits a * `CreateSiteFromTemplate` IR op that the executor dispatches to * Sites API; site-grouping fields, dictionary overrides, and * taxonomy overrides land via subsequent ops on the resulting site. * * Cross-recipe handle resolution: `siteTemplate` resolves to a * `SiteTemplateRecipe`; `initialHome` (when present) resolves to a * `PageRecipe`. */ export declare const SiteRecipeSchema: z.ZodObject<{ kind: z.ZodLiteral<"site">; schemaVersion: z.ZodLiteral<"1">; handle: z.ZodString; name: z.ZodString; displayName: z.ZodString; description: z.ZodOptional; siteTemplate: z.ZodString; language: z.ZodString; languages: z.ZodOptional>; collectionId: z.ZodOptional; collectionName: z.ZodOptional; collectionDisplayName: z.ZodOptional; collectionDescription: z.ZodOptional; collectionPath: z.ZodOptional; siteGrouping: z.ZodOptional; language: z.ZodOptional; targetHostName: z.ZodOptional; }, z.core.$strip>>; siteRole: z.ZodOptional>; dictionaryOverrides: z.ZodOptional]>>>; taxonomyOverrides: z.ZodOptional>>; initialHome: z.ZodOptional; }, z.core.$strip>; export type SiteRecipe = z.input;