import { IccDataOwnerXApi } from '../icc-data-owner-x-api'; import { KeyPair } from './RSA'; import { CryptoPrimitives } from './CryptoPrimitives'; import { BaseExchangeKeysManager } from './BaseExchangeKeysManager'; import { BaseExchangeDataManager } from './BaseExchangeDataManager'; import { DataOwnerWithType } from '../../icc-api/model/DataOwnerWithType'; /** * @internal this class is intended only for internal use and may be changed without notice. * */ export declare class KeyRecovery { private readonly primitives; private readonly dataOwnerApi; private readonly baseExchangeKeysManager; private readonly baseExchangeDataManager; constructor(primitives: CryptoPrimitives, dataOwnerApi: IccDataOwnerXApi, baseExchangeKeysManager: BaseExchangeKeysManager, baseExchangeDataManager: BaseExchangeDataManager); /** * Attempt to recover private keys of a data owner using all available key recovery methods and all available private keys. The method will * automatically try to use newly recovered key pairs to recover additional key pairs. * @param dataOwner a data owner. * @param knownKeys keys available for the data owner. * @return new key pairs (exclude already known pairs) which could be recovered using the known keys. */ recoverKeys(dataOwner: DataOwnerWithType, knownKeys: { [pubKeyFp: string]: KeyPair; }): Promise<{ [pubKeyFp: string]: KeyPair; }>; private recoverFromShamirSplitKeys; private recoverWithSplits; private tryRecoverSplitPrivate; private tryDecryptSplitPiece; private validateDecryptedSplit; private recoverFromTransferKeys; private tryDecryptTransferData; private tryDecryptTransferKey; private getExchangeKeys; }