import type { DurableClosedPromotionJournal, DurableOpenPromotionJournal, DurablePromotionJournal, PromotionJournalReceiptExpectation } from './runtime-promotion-journal-controller-internal.js'; import type { RuntimePromotionJournal } from './runtime-promotion-journal-schema.js'; type JournalErrorFactory = (message: string) => Error; export declare function hasRuntimeStageIntent(record: RuntimePromotionJournal): boolean; /** Pending slots remain visible recovery work and keep the receipt. */ export declare function hasCompleteOwnedCleanup(record: RuntimePromotionJournal): boolean; /** @throws {SystemError} When the durable journal does not satisfy the requested expectation. */ export declare function assertExpectation(record: RuntimePromotionJournal, expectation: PromotionJournalReceiptExpectation | undefined, journalError: JournalErrorFactory): void; /** @throws {SystemError} When a durable journal receipt is not open. */ export declare function asOpen(receipt: DurablePromotionJournal, journalError: JournalErrorFactory): DurableOpenPromotionJournal; /** @throws {SystemError} When a durable journal receipt is not closed. */ export declare function asClosed(receipt: DurablePromotionJournal, journalError: JournalErrorFactory): DurableClosedPromotionJournal; export declare function isIntentTransition(current: RuntimePromotionJournal, desired: RuntimePromotionJournal): boolean; export declare function isPostconditionTransition(current: RuntimePromotionJournal, desired: RuntimePromotionJournal): boolean; export declare function isRollbackTransition(current: RuntimePromotionJournal, desired: RuntimePromotionJournal): boolean; export declare function isRecoveryOwnerHandoff(current: RuntimePromotionJournal, desired: RuntimePromotionJournal): boolean; export {}; //# sourceMappingURL=runtime-promotion-journal-transition-guards.d.ts.map