import type { DeploymentSource, StageDefinition, WorkflowStepDefinition } from './deploy'; export declare const DEPLOY_PLAN_FORMAT: "forgezero-deployment-plan"; export declare const DEPLOY_PLAN_VERSION: 2; export interface PlannedStep extends WorkflowStepDefinition { id: string; } export interface PlannedStage extends Omit { id: string; steps: readonly PlannedStep[]; } export interface PlannedWorkflow { id: string; concurrency?: { group: string; limit: number; }; stages: readonly PlannedStage[]; } export interface DeploymentPlan { format: typeof DEPLOY_PLAN_FORMAT; version: typeof DEPLOY_PLAN_VERSION; sourceDigest: `sha256:${string}`; name: string; description?: string; requiredProviders: readonly { provider: string; contract: number; capability: string; }[]; spec: Omit & { workflows: readonly PlannedWorkflow[]; }; } export declare class DeploymentPlanError extends Error { constructor(message: string); } /** Git check-ref-format compatible branch subset accepted by every source adapter. */ export declare function deploymentBranch(value: unknown, where?: string): string; export declare function canonicalJson(value: unknown): string; export declare function deploymentSourceDigest(source: DeploymentSource): `sha256:${string}`; export declare function compileDeployment(sourceValue: unknown): DeploymentPlan; export declare function deploymentPlanDigest(plan: DeploymentPlan): `sha256:${string}`; export declare function parseDeploymentPlan(value: unknown): DeploymentPlan;