import type { EventV3 } from "./contract.js"; export interface AuthorityEpochFenceV3 { /** Genesis id of the epoch the transaction's event was produced for. */ expectedGenesisId?: `gex_${string}`; } export type AuthorityMutationV3 = { kind: "task.transition"; state: "set" | "cleared"; task_fingerprint?: `sha256:${string}`; } | { kind: "lifecycle.transition"; state: "active" | "blocked" | "done"; reason_code?: string; } | { kind: "claim.transition"; operation: "acquired" | "released"; target_fingerprint: `sha256:${string}`; access: "read" | "write"; } | { kind: "identity.assume"; identity_id: string; } | { kind: "decision.resolve"; decision_id: string; outcome: "approved" | "denied" | "deferred"; } | { kind: "wait.start"; wait_id: string; wait_kind: "permission" | "approval" | "decision" | "operator_input" | "dependency" | "scheduled"; } | { kind: "wait.end"; wait_id: string; outcome: "succeeded" | "failed" | "cancelled" | "timed_out" | "denied" | "interrupted" | "unknown"; }; export interface PrepareAuthorityTransactionV3Input { transaction_id?: `txn_${string}`; expected_prior_state_digest: `sha256:${string}`; desired_state_digest: `sha256:${string}`; actor_instance_id: string; subject_instance_id: string; mutation: AuthorityMutationV3; event: EventV3; } export interface AuthorityTransactionV3 { format: "harnery-event-v3-authority-transaction"; format_version: 1; transaction_id: `txn_${string}`; expected_prior_state_digest: `sha256:${string}`; desired_state_digest: `sha256:${string}`; actor_instance_id: string; subject_instance_id: string; mutation: AuthorityMutationV3; event_id: string; event_row: string; } export interface AuthorityReceiptV3 { format: "harnery-event-v3-authority-receipt"; format_version: 1; transaction_id: `txn_${string}`; transaction_digest: `sha256:${string}`; desired_state_digest: `sha256:${string}`; event_id: string; event_row_digest: `sha256:${string}`; committed_at: string; } export interface AuthorityReconcilerV3 { readStateDigest: () => `sha256:${string}`; apply: (mutation: AuthorityMutationV3, transactionId: string) => void; now?: () => Date; } /** Durably publish the full transaction before any authority-bearing state mutation. */ export declare function prepareAuthorityTransactionV3(coordRoot: string, input: PrepareAuthorityTransactionV3Input): AuthorityTransactionV3; /** Build and validate an authority transaction without touching durable state. */ export declare function buildAuthorityTransactionV3(input: PrepareAuthorityTransactionV3Input): AuthorityTransactionV3; /** Publish an already-built transaction exactly, preserving its pre-minted event. */ export declare function publishAuthorityTransactionV3(coordRoot: string, transaction: AuthorityTransactionV3, fence?: AuthorityEpochFenceV3): AuthorityTransactionV3; /** Apply or recognize the desired state, durably submit its event, then leave a hash-only receipt. */ export declare function reconcileAuthorityTransactionV3(coordRoot: string, transactionId: string, reconciler: AuthorityReconcilerV3, fence?: AuthorityEpochFenceV3): AuthorityReceiptV3; export declare function listPendingAuthorityTransactionsV3(coordRoot: string): AuthorityTransactionV3[]; export declare function authorityRecoveryIntentPathV3(coordRoot: string, transactionId: string): string; export declare function readAuthorityTransactionV3(path: string): AuthorityTransactionV3; export declare function readAuthorityReceiptV3(path: string): AuthorityReceiptV3; //# sourceMappingURL=authority-outbox.d.ts.map