/** Types for the shared, runtime-neutral proposal-bound publish authority. */ export type SitePublishAuthorityCommand = { account_id: string; site_id: string; proposal_id: string; freshness: { site_ref: string }; /** Present only on a verified recovery command for an expired proposal. */ recovery_only?: true; }; export type SitePublishAuthorityReceipt = Record; export type SitePublishAuthorityReadback = Record; export type SitePublishAuthorityReconciliation = | { kind: "resume" | "pending" } | { kind: "failed"; failureCode?: string } | { receipt: SitePublishAuthorityReceipt; readback: SitePublishAuthorityReadback }; export type SitePublishAuthorityLedgerResult = | { kind: "applied"; receipt: SitePublishAuthorityReceipt; readback: SitePublishAuthorityReadback } | { kind: "mismatch" | "pending" | "not_started" } | { kind: "failed"; failureCode: string }; export const OWNER_OPERATION_SITE_PUBLISH_AUDIENCE: string; /** reef#1456 — the shape a proposal id must have to be the runner's build idempotency key. */ export const RUNNER_IDEMPOTENCY_KEY: RegExp; export function normalizeSitePublishAuthorityCommand(value: unknown): SitePublishAuthorityCommand | null; export function signSitePublishAuthorityCommand(input: { command: SitePublishAuthorityCommand; signingKey: string; expiresAt: number; recoveryOnly?: boolean; }): Promise }>; export function verifySitePublishAuthorityCommand(input: { value: unknown; verificationKey: string | undefined; now?: number; }): Promise; export function recoverRunningSitePublishOutcome(input: { command: SitePublishAuthorityCommand; outcome: { state: string }; live: { liveUrl: string; sourceVersion: string }; }): { receipt: SitePublishAuthorityReceipt; readback: SitePublishAuthorityReadback } | null; export function runSitePublishAuthorityLedger(input: { storage: { get(key: string): Promise; put(key: string, value: unknown): Promise }; key: string; command: SitePublishAuthorityCommand; execute: () => Promise<{ receipt: SitePublishAuthorityReceipt; readback: SitePublishAuthorityReadback }>; reconcile: () => Promise; }): Promise;