/** * Item-scoped `--strategy delete` flow for `scai content publish unpublish`. * * Split out of `unpublish.ts` because the delete path is shaped * differently from the reversible field-state strategies: * * - item-scoped (not version-scoped): Sitecore's `deleteItem` removes * the item across every version and language at once * - typed-item-path confirmation gates each delete on production-tier * envs (mirrors `publish all`'s typed env-name confirmation, scaled * per-item) * - audit entries carry `risk: "high"` (delete is NOT reversible) * - the publish job follows the deletes so Edge sees the removals */ import { Logger } from "../../shared/logger.js"; import type { readVersionFields } from "../../content/api/version-fields.js"; import { type PublishAuditScope } from "../../shared/publish-audit.js"; export interface DeleteContext { envName: string; environment: Parameters[0]; timeoutMs: number | undefined; logger: Logger; itemIds: string[]; resolvedPaths: Map; scope: PublishAuditScope; scopeHash: string; productionTier: boolean; confirmToken?: string; confirmItemPath?: string; yes: boolean; nonInteractive: boolean; includeSubitems?: boolean; includeRelated?: boolean; languages: string[]; name?: string; source?: string; } /** * Execute `--strategy delete` end-to-end. Item-scoped (not * version-scoped) — Sitecore's `deleteItem` removes the item across * every version and language at once. Distinct flow from the * reversible strategies because: * * - typed-item-path confirmation gates each delete on production-tier * envs (mirrors `publish all`'s typed env-name confirmation, scaled * per-item) * - audit entries carry `risk: "high"` (delete is NOT reversible) * - the publish job follows the deletes so Edge sees the removals * * @internal */ export declare const runDeleteUnpublish: (ctx: DeleteContext) => Promise;