import * as Domain from "../../domain"; import { Pluto } from "../Pluto"; import { PlutoRepositories } from "../repositories"; import { Version } from "../../domain/backup"; /** * BackupManager * handle the different versions of backup and restore */ export declare class BackupManager { private readonly Pluto; private readonly Repositories; constructor(Pluto: Pluto, Repositories: PlutoRepositories); /** * convert stored data to JSON * * @param version - backup schema version * @returns {Promise} */ backup(version?: Version): Promise<{ version?: "0.0.1" | undefined; link_secret?: string | undefined; credentials: { recovery_id: string; data: string; }[]; dids: { alias?: string | undefined; did: string; }[]; did_pairs: { alias: string; holder: string; recipient: string; }[]; keys: { did?: string | undefined; index?: number | undefined; recovery_id: string; key: string; }[]; mediators: { holder_did: string; mediator_did: string; routing_did: string; }[]; messages: string[]; }>; /** * convert JSON to stored data * * @param backup */ restore(backup: Domain.Backup.Schema): Promise; private getBackupTask; private getRestoreTask; private assertStoreIsEmpty; }