import type { Identity } from '@kokuin/token'; import type { KubunDB } from '@kubun/db'; export type AdoptDatabaseIdentityParams = { db: KubunDB; identity: Identity; }; /** * Deliberately re-home a database to a new identity by overwriting its HLC-node * anchor. This is the escape hatch the {@link IdentityMismatchError} points at: * a database that would otherwise be rejected on reopen is claimed for * `identity`, so a fresh engine under it passes `ready()`. * * Offline and exclusive-access ONLY — no engine may hold the database while this * runs. It performs an unconditional overwrite (not the first-opener CAS), which * is safe only when nothing else could be minting under the old anchor. Reserved * for an operator re-homing a device's data to a rotated/replacement identity, * never a runtime path. It is intentionally a free function, not a KubunEngine * member, so the engine surface exposes no identity-mutating method. */ export declare function adoptDatabaseIdentity(params: AdoptDatabaseIdentityParams): Promise;