import { z } from "zod";
/**
* A page template — a Sitecore data template that items in a site's
* content tree conform to in order to BE authorable pages. The
* page-level peer of `ComponentTemplateRecipe`: where a component
* template backs a placeable rendering, a page template backs a
* navigable page.
*
* Unlike `ContentTemplateRecipe` (a plain data shape), a page template
* inherits the SXA Headless page base set (`SXA_HEADLESS_PAGE_BASE_TEMPLATES`
* — Base Page + _Navigable + _Taggable + _Designable + _Sitemap) so
* items conforming to it pick up the layout/presentation fields, the
* navigation facet, taxonomy tagging, the page-design binding, and
* sitemap metadata. The compiler also stamps the template's
* `__Standard Values` `__Renderings` with a JSON-layout shell
* (``), optionally seeded
* with `layout` placements.
*
* Page templates are the resolution target for `PageDesignRecipe.appliesTo`,
* `SiteTemplateRecipe.pageTemplates`, `insertOptionsMatrix`, and
* `templatesToDesigns` keys. The default template→design binding is the
* `TemplatesMapping` aggregate on the Page Designs root (driven by
* `PageDesignRecipe.appliesTo`); the per-page `Page Design` override
* field is left unset.
*
* Identity: `templateId(site, handle)` — a page template IS a Sitecore
* template, same GUID family as component/content templates.
*/
export declare const PageTemplateRecipeSchema: z.ZodObject<{
kind: z.ZodLiteral<"page-template">;
schemaVersion: z.ZodLiteral<"1">;
handle: z.ZodString;
name: z.ZodString;
displayName: z.ZodString;
description: z.ZodOptional;
icon: z.ZodOptional;
meta: z.ZodOptional>;
group: z.ZodOptional>;
subgroup: z.ZodOptional>;
tag: z.ZodOptional>;
}, z.core.$strip>>>;
}, z.core.$strip>>;
fields: z.ZodDefault;
values: z.ZodOptional>;
multiple: z.ZodOptional;
default: z.ZodOptional]>>;
role: z.ZodOptional;
sitecore: z.ZodOptional>;
source: z.ZodOptional;
types: z.ZodOptional>;
query: z.ZodOptional;
scope: z.ZodOptional;
}, z.core.$strip>, z.ZodObject<{
kind: z.ZodLiteral<"raw">;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
kind: z.ZodLiteral<"plugin">;
id: z.ZodString;
defaultAppId: z.ZodString;
}, z.core.$strip>], "kind">>;
hint: z.ZodOptional;
required: z.ZodOptional;
defaultValue: z.ZodOptional]>>;
enumHandle: z.ZodOptional;
sortOrder: z.ZodOptional;
section: z.ZodOptional;
storage: z.ZodOptional>;
}, z.core.$loose>>;
}, z.core.$strip>>>;
insertOptions: z.ZodOptional>;
layout: z.ZodOptional>>>>;
}, z.core.$strip>>;
defaultWorkflow: z.ZodOptional;
}, z.core.$strip>;
export type PageTemplateRecipe = z.input;
/**
* A page — a concrete, navigable item in the site content tree. The
* page-level peer of `ContentItemRecipe`: where a content item is a
* shared datasource shape, a `PageRecipe` is an authorable page.
*
* It conforms to a `PageTemplateRecipe` (inheriting the SXA page
* presentation facets), carries field values for the page's own
* fields, and may declare a `layout` — written to the page item's
* `__Final Renderings` (the per-version final layout), distinct from a
* page design's `__Renderings`.
*
* Layout placements bind via `datasourceRef`: `shared` (a
* `ContentItemRecipe`), `scoped` (a page-local datasource item the
* compiler materialises at `/Data/`), or `none`. Pages
* without an `itemPath` land flat under `pagesRoot`; page-tree nesting
* is expressed via `itemPath` (a page whose path nests under another
* in-set page's path applies after that ancestor — see
* `compile/ordering.ts`).
*
* Identity: `pageItemId(site, handle)`. `SiteRecipe.initialHome`
* resolves to a `PageRecipe` handle.
*/
export declare const PageRecipeSchema: z.ZodObject<{
kind: z.ZodLiteral<"page">;
schemaVersion: z.ZodLiteral<"1">;
handle: z.ZodString;
name: z.ZodString;
displayName: z.ZodString;
description: z.ZodOptional;
template: z.ZodString;
pageDesign: z.ZodOptional;
itemPath: z.ZodOptional;
mediaLocation: z.ZodOptional;
subfolder: z.ZodOptional;
}, z.core.$strip>, z.ZodObject<{
scope: z.ZodLiteral<"site">;
subfolder: z.ZodOptional;
}, z.core.$strip>], "scope">>;
affinity: z.ZodOptional>;
weight: z.ZodOptional;
}, z.core.$strict>>;
fields: z.ZodDefault>;
translations: z.ZodOptional;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"richText">;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"boolean">;
value: z.ZodBoolean;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"number">;
value: z.ZodNumber;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"integer">;
value: z.ZodNumber;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"date">;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"datetime">;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"enum">;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"image">;
mediaPath: z.ZodString;
alt: z.ZodOptional;
width: z.ZodOptional;
height: z.ZodOptional;
mediaLibraryFolder: z.ZodOptional;
role: z.ZodOptional;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"link-external">;
href: z.ZodString;
text: z.ZodOptional;
target: z.ZodOptional;
title: z.ZodOptional;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"link-internal">;
ref: z.ZodString;
text: z.ZodOptional;
target: z.ZodOptional;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"reference">;
refs: z.ZodArray;
}, z.core.$strip>], "shape">>>;
}, z.core.$strip>>>;
versions: z.ZodOptional;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"richText">;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"boolean">;
value: z.ZodBoolean;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"number">;
value: z.ZodNumber;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"integer">;
value: z.ZodNumber;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"date">;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"datetime">;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"enum">;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"image">;
mediaPath: z.ZodString;
alt: z.ZodOptional;
width: z.ZodOptional;
height: z.ZodOptional;
mediaLibraryFolder: z.ZodOptional;
role: z.ZodOptional;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"link-external">;
href: z.ZodString;
text: z.ZodOptional;
target: z.ZodOptional;
title: z.ZodOptional;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"link-internal">;
ref: z.ZodString;
text: z.ZodOptional;
target: z.ZodOptional;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"reference">;
refs: z.ZodArray;
}, z.core.$strip>], "shape">>>;
workflowState: z.ZodOptional;
date: z.ZodOptional;
layout: z.ZodOptional>>>>;
}, z.core.$strip>>>;
variants: z.ZodOptional;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"richText">;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"boolean">;
value: z.ZodBoolean;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"number">;
value: z.ZodNumber;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"integer">;
value: z.ZodNumber;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"date">;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"datetime">;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"enum">;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"image">;
mediaPath: z.ZodString;
alt: z.ZodOptional;
width: z.ZodOptional;
height: z.ZodOptional;
mediaLibraryFolder: z.ZodOptional;
role: z.ZodOptional;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"link-external">;
href: z.ZodString;
text: z.ZodOptional;
target: z.ZodOptional;
title: z.ZodOptional;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"link-internal">;
ref: z.ZodString;
text: z.ZodOptional;
target: z.ZodOptional;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"reference">;
refs: z.ZodArray;
}, z.core.$strip>], "shape">>>;
layout: z.ZodOptional>>>>;
}, z.core.$strip>>>;
}, z.core.$strip>>>;
}, z.core.$strip>>>>;
shared: z.ZodOptional;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"richText">;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"boolean">;
value: z.ZodBoolean;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"number">;
value: z.ZodNumber;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"integer">;
value: z.ZodNumber;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"date">;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"datetime">;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"enum">;
value: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"image">;
mediaPath: z.ZodString;
alt: z.ZodOptional;
width: z.ZodOptional;
height: z.ZodOptional;
mediaLibraryFolder: z.ZodOptional;
role: z.ZodOptional;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"link-external">;
href: z.ZodString;
text: z.ZodOptional;
target: z.ZodOptional;
title: z.ZodOptional;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"link-internal">;
ref: z.ZodString;
text: z.ZodOptional;
target: z.ZodOptional;
}, z.core.$strip>, z.ZodObject<{
shape: z.ZodLiteral<"reference">;
refs: z.ZodArray;
}, z.core.$strip>], "shape">>>;
layout: z.ZodOptional>>>>;
}, z.core.$strip>>;
layoutScope: z.ZodOptional>;
workflow: z.ZodOptional;
}, z.core.$strip>;
export type PageRecipe = z.input;