import { type NativePortableAcceptanceCriterion } from './native-portable-acceptance.js'; import { type NativePortableState, type NativePortableWorkspace } from './native-portable-types.js'; import { NATIVE_CHANGE_SCHEMA, NATIVE_LEGACY_CHANGE_SCHEMA, NATIVE_V2_CHANGE_SCHEMA, type NativeReadableChangeState } from './native-types.js'; export declare const NATIVE_PORTABLE_MIGRATION_TRANSACTION_SCHEMA: "comet.native.portable-migration.v1"; export type NativePortableMigrationTransactionStatus = 'prepared' | 'yaml-committed' | 'legacy-cleanup' | 'committed'; export interface NativePortableMigrationTransaction { schema: typeof NATIVE_PORTABLE_MIGRATION_TRANSACTION_SCHEMA; id: string; change: string; fromSchema: typeof NATIVE_LEGACY_CHANGE_SCHEMA | typeof NATIVE_V2_CHANGE_SCHEMA | typeof NATIVE_CHANGE_SCHEMA; status: NativePortableMigrationTransactionStatus; createdAt: string; } export type NativePortableMigrationAction = 'commit-portable-yaml' | 'cleanup-legacy-runtime' | 'commit-transaction' | 'done'; export interface NativePortableMigrationNextStep { action: NativePortableMigrationAction; fromStatus: NativePortableMigrationTransactionStatus; nextStatus: NativePortableMigrationTransactionStatus | null; } /** * Convert a parsed v1/v2/v3 change into the portable v4 stable boundary. * * This function intentionally has no Runtime input. Missing trajectory, Run, * checkpoint, snapshot, evidence, or per-change Runtime files cannot alter the * result. A caller may supply the migration time; otherwise the legacy creation * date is used as a deterministic recovery timestamp. */ export declare function migrateNativeLegacyStateToPortable(options: { state: NativeReadableChangeState; acceptance: readonly NativePortableAcceptanceCriterion[]; workspace: NativePortableWorkspace; migratedAt?: string | Date; }): NativePortableState; export declare function parseNativePortableMigrationTransaction(value: unknown): NativePortableMigrationTransaction; /** * Return the one replay-safe action for a persisted transaction boundary. * Repeated calls with the same journal return the same action and never mutate * the journal; the filesystem integration advances status only after the action * has reached its stable boundary. */ export declare function nextNativePortableMigrationStep(value: NativePortableMigrationTransaction): NativePortableMigrationNextStep; //# sourceMappingURL=native-portable-migration.d.ts.map