import { type AnchoredRecordReadResult, type RuntimeExclusiveLease, type RuntimeRecoveryRecordMutation } from '@opensip-cli/core'; import { type RuntimePromotionJournalController } from './runtime-promotion-journal-controller-internal.js'; export type { DurableClosedPromotionJournal, DurableOpenPromotionJournal, DurablePromotionJournal, AuthoredStateMaterializationAuthority, AuthoredStateOwnedBasenames, PromotionJournalAllocation, PromotionJournalIdentity, PromotionJournalReceiptExpectation, RecoveryOwnerHandoffIdentity, RuntimePromotionJournalController, RuntimeStageMaterializationAuthority, RuntimeStageMaterializationIdentity, } from './runtime-promotion-journal-controller-internal.js'; export { RUNTIME_PROMOTION_JOURNAL_FILE } from '@opensip-cli/core'; export { handoffRuntimePromotionRecoveryOwner } from './runtime-promotion-journal-handoff.js'; export type RuntimePromotionJournalCheckpoint = 'after-create-mutation' | 'after-replace-mutation' | 'after-unlink-mutation' | 'before-ambiguity-reconciliation' | 'after-reconciliation-mutation'; export interface RuntimePromotionJournalControllerDependencies { readonly now: () => number; readonly generateOperationId: () => string; readonly generateRecoveryOwnerToken: () => string; readonly read: (lease: RuntimeExclusiveLease) => Promise; readonly mutate: (lease: RuntimeExclusiveLease, mutation: RuntimeRecoveryRecordMutation) => Promise; readonly checkpoint?: (checkpoint: RuntimePromotionJournalCheckpoint) => void; } /** * Bind the fixed promotion journal to one exact live writer lease. All durable * capabilities issued by this controller are exact objects held only by this * controller's private WeakMap. * * @throws {SystemError} When a controller operation observes stale or foreign journal authority. */ export declare function createRuntimePromotionJournalController(lease: RuntimeExclusiveLease, dependencyOverrides?: Partial): RuntimePromotionJournalController; //# sourceMappingURL=runtime-promotion-journal.d.ts.map