import type { Storage as WeftStorage } from '../../storage/interface.ts'; /** * Read the persisted-data schema-version sentinel and throw * {@link PersistedDataIncompatibleError} when it is older (or newer) than the * engine's {@link CURRENT_PERSISTED_DATA_SCHEMA_VERSION}. * * Three cases: * * 1. Sentinel exists and matches: no-op. * 2. Sentinel exists but is missing, unparseable, or disagrees with the * current version: throw `PersistedDataIncompatibleError`. * 3. Sentinel is absent. Only stamp the storage when it carries no user * workflow data. Stamping a database that already holds workflow records, * schedules, checkpoints, or any other `wf:` / `op:` / `schedule:` / `ev:` * prefixed key would silently classify unversioned data as schema-current * and risk replaying incompatible records. When user data is already present * without a sentinel, fail with `PersistedDataIncompatibleError(null, …)` so * the operator can choose explicitly whether to wipe and start fresh. */ export declare function assertCompatiblePersistedDataVersion(storage: WeftStorage): Promise;