/** * Shared deploy-plan rendering — the single source of truth for how a computed * plan is described, consumed by the CLI text path, the Ink approval screen, the * non-interactive output and the wire `plan.available` summary. One renderer * keeps every surface byte-identical (cross-system parity by construction). */ import type { PlanChange } from "../../../types/deployEvent.js"; import type { DeployPlan } from "./types.js"; /** * A one-line plan summary, e.g. * "2 to create, 1 to replace, 1 to destroy (2 destructive, 1 with data loss)". */ export declare function renderPlanSummary(plan: Pick): string; /** One line per resource change, grouped by action, e.g. * "± replace AWS::ECS::Service WebAppCompute/Service (data loss)". */ export declare function renderPlanLines(plan: Pick): string[]; /** Map a computed plan's changes down to the wire `plan.available` PlanChange[]. * `verdictSource` is deliberately NOT threaded here — the wire shape is a * cross-package contract; it lands with the Phase 2 destruction-ticket wire * contract. */ export declare function toWirePlanChanges(plan: Pick): PlanChange[];