import type { EventV3SupportInventoryEntry } from "./inventory.js"; import type { EventV3SupportFamily, EventV3SupportVerificationMode } from "./pack-contract.js"; export type EventV3SupportTransactionState = "planned" | "shadow-written" | "shadow-verified" | "replacement-ready" | "replacement-active" | "committed"; export interface EventV3SupportTransactionSource { relative_path: string; bytes: number; digest: `sha256:${string}`; family: EventV3SupportFamily; recorded_at?: string; diagnostic_category?: string; diagnostic_reason?: string; } export interface EventV3SupportMaintenanceTransaction { format: "harnery-event-v3-support-maintenance"; format_version: 1; transaction_id: `vst_${string}`; sequence: number; state: EventV3SupportTransactionState; created_at: string; updated_at: string; catalog_version: string; policy_version: string; authority: { root: string; root_id: string; genesis_id: string; state: "active" | "archived"; verification_mode: EventV3SupportVerificationMode; source_authority_digest?: `sha256:${string}`; }; sources: EventV3SupportTransactionSource[]; shadow?: { manifest_path: string; payload_path: string; pack_id: `vsp_${string}`; }; authorization?: { exact_transaction_id: `vst_${string}`; authorized_at: string; }; } export interface PlanEventV3SupportTransactionInput { transaction_root: string; authority_root: string; root_id: string; genesis_id: string; authority_state: "active" | "archived"; source_authority_digest?: `sha256:${string}`; entries: EventV3SupportInventoryEntry[]; catalog_version: string; policy_version: string; now: string; } /** Freeze a content-free exact source set. No pack is written and no source is changed. */ export declare function planEventV3SupportTransaction(input: PlanEventV3SupportTransactionInput): Promise; export declare function writeEventV3SupportTransactionShadow(input: { transaction_root: string; transaction_id: string; minimum_harnery_version: string; now: string; }): Promise; export declare function verifyEventV3SupportTransactionShadow(input: { transaction_root: string; transaction_id: string; expected_current_genesis_id: string; now: string; }): Promise; /** Record exact authorization only. Publication and source removal remain disabled. */ export declare function authorizeEventV3SupportReplacement(input: { transaction_root: string; transaction_id: string; exact_transaction_id: string; yes: boolean; now: string; }): Promise; export interface EventV3SupportReplacementPlan { transaction_id: `vst_${string}`; enabled: false; final_manifest_path: string; final_payload_path: string; frozen_source_paths: string[]; reason: "event_v3_support_replacement_activation_disabled"; } /** Produce the canary replacement plan without publishing a pack or deleting a source. */ export declare function planEventV3SupportReplacement(input: { transaction_root: string; transaction_id: string; }): Promise; export declare function activateEventV3SupportReplacement(): never; export declare function recoverEventV3SupportTransaction(input: { transaction_root: string; transaction_id: string; expected_current_genesis_id: string; }): Promise<{ action: "write-shadow" | "verify-shadow" | "await-authorization" | "activation-disabled"; }>; export declare function readEventV3SupportTransaction(transactionRoot: string, transactionId: string): Promise; //# sourceMappingURL=maintenance.d.ts.map