import { UserEncryptionKeysManager } from './UserEncryptionKeysManager'; import { BaseExchangeKeysManager } from './BaseExchangeKeysManager'; import { IccDataOwnerXApi } from '../icc-data-owner-x-api'; /** * @internal This class is meant only for internal use and may be changed without notice. * More powerful version of {@link BaseExchangeKeysManager} with a simplified interface. Has the following functionalities: * - Caches results * - Automatically creates new exchange keys if none is available * - Automatically choose the public keys to use during the creation of new exchange keys * - Automatically retrieves the private keys to use during decryption. */ export declare class ExchangeKeysManager { private readonly keyManager; private readonly baseExchangeKeysManager; private readonly dataOwnerApi; private cache; get base(): BaseExchangeKeysManager; constructor(keyManager: UserEncryptionKeysManager, baseExchangeKeysManager: BaseExchangeKeysManager, dataOwnerApi: IccDataOwnerXApi); /** * Get all keys currently available for a delegator-delegate pair. At least one of the two data owners must be part of the hierarchy for the current * data owner. * @param delegatorId id of a delegator * @param delegateId id of a delegate * @throws if neither the delegator nor the delegate is part of the hierarchy of the current data owner. * @return all available exchange keys from the delegator-delegate pair. */ getDecryptionExchangeKeysFor(delegatorId: string, delegateId: string): Promise; private decryptChunk; /** * Reloads all exchange keys for the cache. */ reloadCache(): void; private doGetCache; }