import { z } from "zod"; export declare const PushPolicySchema: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; export type PushPolicy = z.infer; /** * Reference encodings the IR must distinguish — Sitecore stores cross-item * references in many shapes (see `plans/sitecore-relationships.md`, * "Reference encoding patterns"). The executor decides per-field which form * to serialize. * * Two flavors of GUID reference: * * - `ref-guid` / `ref-guid-list` — known-at-compile-time GUIDs (Sitecore * built-ins like the Standard Template, Folder, View Rendering). Inline * constants; no runtime resolution needed. * - `ref-recipe` / `ref-recipe-list` — references to items the executor * creates during this push. The Authoring API server-assigns itemIds * on create, so the IR carries a recipe-internal `refKey` (uuidv5 * derived from the recipe handle) and the executor substitutes the * captured Sitecore itemId before dispatching the field write. */ export declare const RefValueSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"string">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"bool">; value: z.ZodBoolean; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-guid">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-guid-list">; values: z.ZodArray; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe">; refKey: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe-list">; refKeys: z.ZodArray; tolerateMissing: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-path">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"query">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-source-fields">; site: z.ZodString; sourceTypes: z.ZodArray; sourceQuery: z.ZodOptional; sourceScope: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"url-string-map">; entries: z.ZodRecord; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"media-xml-ref">; refKey: z.ZodString; }, z.core.$strip>], "kind">; export type RefValue = z.infer; export declare const FieldValueSchema: z.ZodObject<{ fieldId: z.ZodString; fieldName: z.ZodOptional; language: z.ZodOptional; version: z.ZodOptional; value: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"string">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"bool">; value: z.ZodBoolean; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-guid">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-guid-list">; values: z.ZodArray; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe">; refKey: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe-list">; refKeys: z.ZodArray; tolerateMissing: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-path">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"query">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-source-fields">; site: z.ZodString; sourceTypes: z.ZodArray; sourceQuery: z.ZodOptional; sourceScope: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"url-string-map">; entries: z.ZodRecord; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"media-xml-ref">; refKey: z.ZodString; }, z.core.$strip>], "kind">; }, z.core.$strip>; export type FieldValue = z.infer; export declare const CreateItemOpSchema: z.ZodObject<{ id: z.ZodString; path: z.ZodString; parent: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe">; refKey: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-path">; value: z.ZodString; }, z.core.$strip>], "kind">; templateOf: z.ZodUnion; value: z.ZodString; }, z.core.$strip>]>; name: z.ZodString; fields: z.ZodArray; language: z.ZodOptional; version: z.ZodOptional; value: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"string">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"bool">; value: z.ZodBoolean; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-guid">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-guid-list">; values: z.ZodArray; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe">; refKey: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe-list">; refKeys: z.ZodArray; tolerateMissing: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-path">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"query">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-source-fields">; site: z.ZodString; sourceTypes: z.ZodArray; sourceQuery: z.ZodOptional; sourceScope: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"url-string-map">; entries: z.ZodRecord; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"media-xml-ref">; refKey: z.ZodString; }, z.core.$strip>], "kind">; }, z.core.$strip>>; convergeOnTemplateDrift: z.ZodOptional; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"CreateItem">; }, z.core.$strip>; export declare const SetFieldOpSchema: z.ZodObject<{ itemRefKey: z.ZodString; fieldId: z.ZodString; fieldName: z.ZodOptional; language: z.ZodOptional; version: z.ZodOptional; value: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"string">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"bool">; value: z.ZodBoolean; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-guid">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-guid-list">; values: z.ZodArray; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe">; refKey: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe-list">; refKeys: z.ZodArray; tolerateMissing: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-path">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"query">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-source-fields">; site: z.ZodString; sourceTypes: z.ZodArray; sourceQuery: z.ZodOptional; sourceScope: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"url-string-map">; entries: z.ZodRecord; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"media-xml-ref">; refKey: z.ZodString; }, z.core.$strip>], "kind">; latePath: z.ZodOptional; clearWhenEquivalentTo: z.ZodOptional; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"SetField">; }, z.core.$strip>; export declare const SetBaseTemplatesOpSchema: z.ZodObject<{ itemRefKey: z.ZodString; baseTemplates: z.ZodArray; pathBases: z.ZodOptional>; }, z.core.$strip>>>; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"SetBaseTemplates">; }, z.core.$strip>; export declare const SetStandardValuesOpSchema: z.ZodObject<{ templateRefKey: z.ZodString; standardValuesRefKey: z.ZodString; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"SetStandardValues">; }, z.core.$strip>; /** * Site instantiation via Sitecore's Sites API. Unlike CreateItem (which * dispatches to Authoring GraphQL), CreateSiteFromTemplate dispatches * to the Sites API's `createSite` operation — the only way to spin up * a site instance with all the SXA initialization (content tree * skeleton, settings, dictionary structure, etc.) that Authoring API * `createItem` can't reproduce. * * Async semantics: the Sites API's `createSite` returns a JobResponse * (a job handle); the executor polls until completion, then looks up * the created site by name to capture its assigned itemId. The * captured itemId becomes the resolution target for subsequent ops * keyed on `siteRefKey`. * * Idempotency: planner checks if a site with this `siteName` already * exists in the environment via Sites API `listSites`. If yes → * status: skip (mutation: undefined). If no → status: create, mutation * dispatches `createSite`. There is no "update site template" * operation on the Sites API; mismatched-template sites are reported * as planning errors rather than silently re-instantiated. */ export declare const CreateSiteFromTemplateOpSchema: z.ZodObject<{ siteRefKey: z.ZodString; siteName: z.ZodString; displayName: z.ZodOptional; description: z.ZodOptional; language: z.ZodString; additionalLanguages: z.ZodOptional>; hostName: z.ZodOptional; templateRefKey: z.ZodString; collectionId: z.ZodOptional; collectionName: z.ZodOptional; collectionDisplayName: z.ZodOptional; collectionDescription: z.ZodOptional; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"CreateSiteFromTemplate">; }, z.core.$strip>; /** * Append GUIDs to an existing item's multi-list field without disturbing * existing values. Used by registry-driven recipes to register their * renderings against pre-existing SXA Available Rendering Section * Definition items (`availableIn` on `ComponentTemplateRecipe`). * * Idempotent under `policy: "merge-unique"` — the executor reads the * current field value, parses it as a pipe-separated GUID list, * unions the desired values into the existing set, and writes back * only if the set changed. Re-pushing a recipe with the same * `values` is a no-op once the values are present. * * Removal is intentionally NOT modelled here — uninstalling a * component does not auto-remove it from a section's Available * Renderings; that's an explicit operator action with a different * policy. */ export declare const AppendToMultiListOpSchema: z.ZodObject<{ itemRefKey: z.ZodString; latePath: z.ZodOptional; fieldId: z.ZodString; fieldName: z.ZodOptional; values: z.ZodArray; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe">; refKey: z.ZodString; }, z.core.$strip>], "kind">>; appendPolicy: z.ZodEnum<{ replace: "replace"; "merge-unique": "merge-unique"; }>; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"AppendToMultiList">; }, z.core.$strip>; /** * Add a numbered version (or a language version) to an existing item. * * `CreateItem` makes an item with version 1 in the default language; * `SetField` writes a field on an *assumed-existing* `(language, version)`. * Neither *creates* a version. Story-seed content recipes — which author * en v1/v2/v3, fr v1, … — need this op to materialise the version slots * the per-version `SetField` ops then fill. * * `version` declares intent: "version N should exist in `language`." * Sitecore assigns numbered versions sequentially, so the executor * reconciles — it adds versions until the item has at least `version` of * them in `language`. Idempotent: a no-op when the version already * exists, which is what lets a re-push converge cleanly. When `language` * has no versions yet, the executor creates that language version too. * * Emitted in version order by the content-item compiler, between the * `CreateItem` op and the per-version `SetField` ops. */ export declare const AddItemVersionOpSchema: z.ZodObject<{ itemRefKey: z.ZodString; language: z.ZodString; version: z.ZodNumber; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"AddItemVersion">; }, z.core.$strip>; /** * Prune children of a container item that aren't in `allowedHandles`. * * The opt-in counterpart to scai's merge-by-default model. Until a recipe * declares `ownership.mode: "exclusive"` on a container, this op is * never emitted — recipes only ever ADD/UPDATE items, never remove. * * **Forward-only.** This op is a compile-time artifact of an ownership * declaration in a recipe-author's source. `readCurrent` (reverse * projection from tenant state) cannot recover it — there's no tenant * signal that distinguishes "the recipe owns this folder exclusively" * from "the recipe contributes additively." Round-tripped recipes lose * the prune op entirely; operators who want exclusive ownership must * re-declare it on the ComponentSectionRecipe. * * Compiled from a recipe-set–level pass that walks every CreateItem op in * the IR (intra- and cross-recipe both) and collects those whose `parent` * resolves to the owner's itemRefKey. Their refKeys become `allowedHandles`; * anything else under the parent at apply time is pruned. * * Emitted at the very end of the apply order (after all CreateItem and * SetField ops in every recipe) so the pruner sees the freshly-created * tree, not a half-built one. See `RECIPE_APPLY_RANK` in `compile.ts`. * * Two consent layers protect this op: * 1. `mode: "warn"` (default for newly-authored ownership) — the planner * emits the prune list but the executor skips the actual delete. Lets * authors rehearse before flipping to `"delete"`. * 2. CLI `--allow-prune` — even with `mode: "delete"`, the apply throws * `POLICY_DENIED` unless the operator explicitly opted in for THIS push. * Recipe-author intent (mode) and operator intent (--allow-prune) are * independent gates so neither alone can cause silent data loss. * * Rollback is intentionally lossy — re-created items get new GUIDs, and * descendants/fields are restored from a single-level snapshot only. */ export declare const PruneChildrenOpSchema: z.ZodObject<{ parentRefKey: z.ZodString; latePath: z.ZodOptional; allowedHandles: z.ZodArray; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe">; refKey: z.ZodString; }, z.core.$strip>], "kind">>; templateFilter: z.ZodOptional>; mode: z.ZodEnum<{ warn: "warn"; delete: "delete"; }>; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"PruneChildren">; }, z.core.$strip>; /** * Upload a media-library item from an external URL or a local asset path. * * Used by `SiteTemplateRecipe.thumbnail` and `.image` — sub-milestone A's * U3 finding (`docs/plans/site-template-modules-and-picker.investigation.json`) * established that the Sites API picker's `thumbnail` field surface * (`__Thumbnail`, GUID `c7c26117-…`) accepts Sitecore media-XML only * (``); writing a raw URL is silently a * no-op. The discriminated source union mirrors the recipe-side * `thumbnail` / `image` shape: * * - `kind: "external-url"` — author hosts the source bytes * externally (CDN, S3, GitHub raw); the executor fetches the * bytes at apply time and uploads them to Sitecore's media library. * - `kind: "asset"` — `path` is a recipe-file-relative reference * (e.g. `./thumbnail.png`). The executor reads the file locally * and uploads it. * * The compiler emits one MediaUpload op per thumbnail/image, AND a * SetField op against the consuming item (the SiteTemplate) whose * value is a `string` reference of the shape `` * — at apply time the executor substitutes the uploaded media item's * server-assigned GUID into the templated string. The `id` field * here is the refKey that ties the two ops together. * * Executor wiring lands with sub-milestone E (live integration test * with the orchestrator); this commit only locks the IR shape so the * site-template compiler can emit ops. */ export declare const MediaUploadOpSchema: z.ZodObject<{ id: z.ZodString; source: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"external-url">; url: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"asset">; path: z.ZodString; }, z.core.$strip>], "kind">; destinationPath: z.ZodOptional; altText: z.ZodOptional; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"MediaUpload">; }, z.core.$strip>; export declare const OperationSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ id: z.ZodString; path: z.ZodString; parent: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe">; refKey: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-path">; value: z.ZodString; }, z.core.$strip>], "kind">; templateOf: z.ZodUnion; value: z.ZodString; }, z.core.$strip>]>; name: z.ZodString; fields: z.ZodArray; language: z.ZodOptional; version: z.ZodOptional; value: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"string">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"bool">; value: z.ZodBoolean; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-guid">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-guid-list">; values: z.ZodArray; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe">; refKey: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe-list">; refKeys: z.ZodArray; tolerateMissing: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-path">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"query">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-source-fields">; site: z.ZodString; sourceTypes: z.ZodArray; sourceQuery: z.ZodOptional; sourceScope: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"url-string-map">; entries: z.ZodRecord; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"media-xml-ref">; refKey: z.ZodString; }, z.core.$strip>], "kind">; }, z.core.$strip>>; convergeOnTemplateDrift: z.ZodOptional; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"CreateItem">; }, z.core.$strip>, z.ZodObject<{ itemRefKey: z.ZodString; fieldId: z.ZodString; fieldName: z.ZodOptional; language: z.ZodOptional; version: z.ZodOptional; value: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"string">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"bool">; value: z.ZodBoolean; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-guid">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-guid-list">; values: z.ZodArray; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe">; refKey: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe-list">; refKeys: z.ZodArray; tolerateMissing: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-path">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"query">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-source-fields">; site: z.ZodString; sourceTypes: z.ZodArray; sourceQuery: z.ZodOptional; sourceScope: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"url-string-map">; entries: z.ZodRecord; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"media-xml-ref">; refKey: z.ZodString; }, z.core.$strip>], "kind">; latePath: z.ZodOptional; clearWhenEquivalentTo: z.ZodOptional; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"SetField">; }, z.core.$strip>, z.ZodObject<{ itemRefKey: z.ZodString; baseTemplates: z.ZodArray; pathBases: z.ZodOptional>; }, z.core.$strip>>>; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"SetBaseTemplates">; }, z.core.$strip>, z.ZodObject<{ templateRefKey: z.ZodString; standardValuesRefKey: z.ZodString; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"SetStandardValues">; }, z.core.$strip>, z.ZodObject<{ siteRefKey: z.ZodString; siteName: z.ZodString; displayName: z.ZodOptional; description: z.ZodOptional; language: z.ZodString; additionalLanguages: z.ZodOptional>; hostName: z.ZodOptional; templateRefKey: z.ZodString; collectionId: z.ZodOptional; collectionName: z.ZodOptional; collectionDisplayName: z.ZodOptional; collectionDescription: z.ZodOptional; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"CreateSiteFromTemplate">; }, z.core.$strip>, z.ZodObject<{ itemRefKey: z.ZodString; latePath: z.ZodOptional; fieldId: z.ZodString; fieldName: z.ZodOptional; values: z.ZodArray; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe">; refKey: z.ZodString; }, z.core.$strip>], "kind">>; appendPolicy: z.ZodEnum<{ replace: "replace"; "merge-unique": "merge-unique"; }>; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"AppendToMultiList">; }, z.core.$strip>, z.ZodObject<{ itemRefKey: z.ZodString; language: z.ZodString; version: z.ZodNumber; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"AddItemVersion">; }, z.core.$strip>, z.ZodObject<{ parentRefKey: z.ZodString; latePath: z.ZodOptional; allowedHandles: z.ZodArray; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe">; refKey: z.ZodString; }, z.core.$strip>], "kind">>; templateFilter: z.ZodOptional>; mode: z.ZodEnum<{ warn: "warn"; delete: "delete"; }>; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"PruneChildren">; }, z.core.$strip>, z.ZodObject<{ id: z.ZodString; source: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"external-url">; url: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"asset">; path: z.ZodString; }, z.core.$strip>], "kind">; destinationPath: z.ZodOptional; altText: z.ZodOptional; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"MediaUpload">; }, z.core.$strip>], "op">; export type CreateItemOp = z.infer; export type SetFieldOp = z.infer; export type SetBaseTemplatesOp = z.infer; export type SetStandardValuesOp = z.infer; export type CreateSiteFromTemplateOp = z.infer; export type AppendToMultiListOp = z.infer; export type AddItemVersionOp = z.infer; export type PruneChildrenOp = z.infer; export type MediaUploadOp = z.infer; export type Operation = z.infer; export declare const OperationIrSchema: z.ZodObject<{ schemaVersion: z.ZodLiteral<"1">; recipeHandle: z.ZodString; operations: z.ZodArray; refKey: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-path">; value: z.ZodString; }, z.core.$strip>], "kind">; templateOf: z.ZodUnion; value: z.ZodString; }, z.core.$strip>]>; name: z.ZodString; fields: z.ZodArray; language: z.ZodOptional; version: z.ZodOptional; value: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"string">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"bool">; value: z.ZodBoolean; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-guid">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-guid-list">; values: z.ZodArray; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe">; refKey: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe-list">; refKeys: z.ZodArray; tolerateMissing: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-path">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"query">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-source-fields">; site: z.ZodString; sourceTypes: z.ZodArray; sourceQuery: z.ZodOptional; sourceScope: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"url-string-map">; entries: z.ZodRecord; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"media-xml-ref">; refKey: z.ZodString; }, z.core.$strip>], "kind">; }, z.core.$strip>>; convergeOnTemplateDrift: z.ZodOptional; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"CreateItem">; }, z.core.$strip>, z.ZodObject<{ itemRefKey: z.ZodString; fieldId: z.ZodString; fieldName: z.ZodOptional; language: z.ZodOptional; version: z.ZodOptional; value: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"string">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"bool">; value: z.ZodBoolean; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"number">; value: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-guid">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-guid-list">; values: z.ZodArray; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe">; refKey: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe-list">; refKeys: z.ZodArray; tolerateMissing: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-path">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"query">; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-source-fields">; site: z.ZodString; sourceTypes: z.ZodArray; sourceQuery: z.ZodOptional; sourceScope: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"url-string-map">; entries: z.ZodRecord; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"media-xml-ref">; refKey: z.ZodString; }, z.core.$strip>], "kind">; latePath: z.ZodOptional; clearWhenEquivalentTo: z.ZodOptional; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"SetField">; }, z.core.$strip>, z.ZodObject<{ itemRefKey: z.ZodString; baseTemplates: z.ZodArray; pathBases: z.ZodOptional>; }, z.core.$strip>>>; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"SetBaseTemplates">; }, z.core.$strip>, z.ZodObject<{ templateRefKey: z.ZodString; standardValuesRefKey: z.ZodString; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"SetStandardValues">; }, z.core.$strip>, z.ZodObject<{ siteRefKey: z.ZodString; siteName: z.ZodString; displayName: z.ZodOptional; description: z.ZodOptional; language: z.ZodString; additionalLanguages: z.ZodOptional>; hostName: z.ZodOptional; templateRefKey: z.ZodString; collectionId: z.ZodOptional; collectionName: z.ZodOptional; collectionDisplayName: z.ZodOptional; collectionDescription: z.ZodOptional; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"CreateSiteFromTemplate">; }, z.core.$strip>, z.ZodObject<{ itemRefKey: z.ZodString; latePath: z.ZodOptional; fieldId: z.ZodString; fieldName: z.ZodOptional; values: z.ZodArray; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe">; refKey: z.ZodString; }, z.core.$strip>], "kind">>; appendPolicy: z.ZodEnum<{ replace: "replace"; "merge-unique": "merge-unique"; }>; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"AppendToMultiList">; }, z.core.$strip>, z.ZodObject<{ itemRefKey: z.ZodString; language: z.ZodString; version: z.ZodNumber; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"AddItemVersion">; }, z.core.$strip>, z.ZodObject<{ parentRefKey: z.ZodString; latePath: z.ZodOptional; allowedHandles: z.ZodArray; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"ref-recipe">; refKey: z.ZodString; }, z.core.$strip>], "kind">>; templateFilter: z.ZodOptional>; mode: z.ZodEnum<{ warn: "warn"; delete: "delete"; }>; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"PruneChildren">; }, z.core.$strip>, z.ZodObject<{ id: z.ZodString; source: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"external-url">; url: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"asset">; path: z.ZodString; }, z.core.$strip>], "kind">; destinationPath: z.ZodOptional; altText: z.ZodOptional; policy: z.ZodEnum<{ CreateUpdateAndDelete: "CreateUpdateAndDelete"; CreateAndUpdate: "CreateAndUpdate"; CreateOnly: "CreateOnly"; }>; label: z.ZodString; op: z.ZodLiteral<"MediaUpload">; }, z.core.$strip>], "op">>; }, z.core.$strip>; export type OperationIr = z.infer;