import { type OperationIr } from "../ir/operations.js"; import { type PageTemplateRecipe } from "../schema/recipe.js"; import { type CompileContext } from "./shared.js"; /** * Compile a `PageTemplateRecipe` to an Operation IR. * * A page template is a Sitecore data template that pages conform to. It * differs from a `ContentTemplateRecipe` in two ways: * * 1. It chains the SXA Headless page facet set * (`SXA_HEADLESS_PAGE_BASE_TEMPLATES`) directly — the same facets * the SXA-scaffolded `Project//Page` carries, making * it a peer of that scaffold — so items conforming to it pick up * the layout / navigation / taxonomy / page-design / sitemap * facets that make them authorable pages in XM Cloud Pages. * 2. Its `__Standard Values` carries a `__Renderings` layout shell — * `` — so pages render * through the headless JSON-layout pipeline. When the recipe * declares a `layout`, its placements are seeded into that shell. * * Everything else (template item, sections, fields, standard values, * insert options, default workflow) is the same datasource-template * shape `compileContentTemplateRecipe` emits — reused via * `emitDatasourceTemplate`. * * Path: * - `meta.tax.group` set → `//` * (the group folder is emitted once per set as a CreateOnly op). * - no group → flat at `/`. */ export declare function compilePageTemplateRecipe(input: PageTemplateRecipe, context: CompileContext, emittedFolders?: Set): OperationIr;