export { parseServiceMigrationRecord, parseServiceMigrationReloadOldReceipt, parseServiceMigrationStartOldReceipt, } from "./service-migration-record.js"; import { type ManagerServiceSpec } from "./manager-service-spec.js"; import type { RetainedLegacyRuntime } from "./service-migration-retained-runtime.js"; import type { ServiceMigrationBackup, ServiceMigrationEffectProof, ServiceMigrationJournalTransition, ServiceMigrationRecord, ServiceMigrationJournal } from "./service-migration-types.js"; import { type PersistedOperationObserver } from "./persisted-operation-observer.js"; /** 调用方必须持有 service 级协调锁;此模块不以 workspace 锁代替服务互斥。 */ export declare class FileServiceMigrationJournal implements ServiceMigrationJournal { private readonly onOperation?; private readonly directory; private readonly identity; private blocked; constructor(directory: string, onOperation?: PersistedOperationObserver); /** 调用方持服务锁;不以新metadata或新的操作ID绕过旧迁移的恢复门禁。 */ health(): { recoveryRequired: boolean; }; prepare(id: string, backup: ServiceMigrationBackup): ServiceMigrationRecord; read(id: string): ServiceMigrationRecord; /** 捕获意图已落盘后,只绑定工件,不修改原始文件备份;未知写入禁止继续停机。 */ bindRuntime(record: ServiceMigrationRecord, retained: RetainedLegacyRuntime): ServiceMigrationRecord; backup(record: ServiceMigrationRecord): ServiceMigrationBackup; bindManagerCandidate(record: ServiceMigrationRecord, input: ManagerServiceSpec, digest: string): ServiceMigrationRecord; save(record: ServiceMigrationRecord): void; transition(expected: Readonly, command: ServiceMigrationJournalTransition | ServiceMigrationEffectProof): ServiceMigrationRecord; private file; private backupFile; private checkDirectory; } //# sourceMappingURL=service-migration-journal.d.ts.map