import { type OperationIr } from "../ir/operations.js"; import { type PartialDesignRecipe } from "../schema/recipe.js"; import { type CompileContext } from "./shared.js"; /** * Compile a `PartialDesignRecipe` to an Operation IR. * * Emits: * 1. `CreateItem` for the partial-design item (SXA Partial Design template) * 2. `SetField(__Renderings)` — the full layout (SXA delta) written to * Sitecore's SHARED layout field, so the chrome is language-independent: * every language version of a page composing this partial inherits it. * (Writing the placements to a per-language `__Final Renderings @ en` * delta instead stranded the chrome in the default language's Final * layout — any other language version, and the Shared Layout view itself, * then rendered no header/footer.) * * The compiler resolves component / content-item handles in the layout * to deterministic GUIDs at compile time — no executor-side handle * resolution required for the layout body. (Page-template handles in * `appliesTo` and partial handles in `partials[]` on `PageDesignRecipe` * resolve the same way.) * * Nested placements (a shell component hosting children in its own * logical slots) are flattened into dynamic-placeholder keys before * emission — exactly the page compiler's convention (`./flatten-layout`). * The flattened children ride the same shared `__Renderings` delta as * their parent. */ export declare function compilePartialDesignRecipe(input: PartialDesignRecipe, context: CompileContext): OperationIr;