import type { WorkEvent } from "../../work/state.js"; import type { WorkflowRunManifest } from "../run-state.js"; import type { WorkflowProof } from "../types.js"; import type { WorkspaceProviderEvent } from "./state.js"; import type { IntegrationApplyAttempt, IntegrationApplyReceipt, IntegrationAuthorization, IntegrationPlan, WorkspaceBinding, WorkspaceCancellationReceipt, WorkspaceCancellationResult, WorkspaceCleanupAttempt, WorkspaceCleanupIntent, WorkspaceCleanupReceipt, WorkspaceIntegrationState, WorkspaceLifecycleState, WorkspaceProofOutcome, WorkspaceResourceState } from "./types.js"; export interface WorkspaceLifecycleProjectionInput { allocation_unsupported?: boolean; binding?: WorkspaceBinding; provider_events?: readonly WorkspaceProviderEvent[]; manifest?: WorkflowRunManifest; workflow_transcript?: readonly { event: string; ok?: boolean; status?: "blocked" | "lost" | WorkspaceCancellationResult["status"]; work_event_seq?: number; work_event_sha256?: string; }[]; proof?: WorkflowProof; proof_sha256?: string; integration_plan?: IntegrationPlan; integration_authorization?: IntegrationAuthorization; integration_attempts?: readonly IntegrationApplyAttempt[]; integration_receipt?: IntegrationApplyReceipt; cleanup_intent?: WorkspaceCleanupIntent; cleanup_attempts?: readonly WorkspaceCleanupAttempt[]; cleanup_receipt?: WorkspaceCleanupReceipt; work_events?: readonly WorkEvent[]; cancellation_outcome?: WorkspaceCancellationResult; cancellation_receipt?: WorkspaceCancellationReceipt; } export interface WorkspaceLifecycleProjection { state: WorkspaceLifecycleState; workflow_outcome: WorkspaceProofOutcome | null; resource_state: WorkspaceResourceState | null; integration_state: WorkspaceIntegrationState; provider_event_chain_sha256: string | null; cancellation: "none" | "host_requested" | "confirmed"; } export declare function isWorkspaceLifecycleState(value: unknown): value is WorkspaceLifecycleState; export declare function assertWorkspaceLifecycleTransition(from: WorkspaceLifecycleState, to: WorkspaceLifecycleState): void; export declare function deriveWorkspaceLifecycle(input: WorkspaceLifecycleProjectionInput): WorkspaceLifecycleProjection; export declare function validateProviderEventChain(events: readonly WorkspaceProviderEvent[], binding?: WorkspaceBinding): void; //# sourceMappingURL=lifecycle.d.ts.map