import { KeyPair } from './crypto/RSA'; import { IccMaintenanceTaskXApi } from './icc-maintenance-task-x-api'; import { IccCryptoXApi } from './icc-crypto-x-api'; import { KeyPairUpdateRequest } from './maintenance/KeyPairUpdateRequest'; import { IccDataOwnerXApi } from './icc-data-owner-x-api'; import { User } from '../icc-api/model/User'; import { IccExchangeDataApi } from '../icc-api/api/internal/IccExchangeDataApi'; import { DataOwnerTypeEnum } from '../icc-api/model/DataOwnerTypeEnum'; /** * Api for interpreting maintenance tasks and applying required client-side actions. */ export declare class IccIcureMaintenanceXApi { private readonly crypto; private readonly tasksApi; private readonly dataOwnerApi; private readonly exchangeDataApi; constructor(crypto: IccCryptoXApi, tasksApi: IccMaintenanceTaskXApi, dataOwnerApi: IccDataOwnerXApi, exchangeDataApi: IccExchangeDataApi); /** * Applies a key pair update request between another data owner and the current data owner to allow the other data owner to access existing exchange * keys shared with the current data owner. IMPORTANT: it is your responsibility to verify the authenticity of the public key / update request * before calling this method: this method assumes the new public key for the concerned data owner is authentic. * @param update a keypair update request to the current data owner. */ applyKeyPairUpdate(update: KeyPairUpdateRequest): Promise; /** * @internal This method is intended only for internal use and may be changed without notice. * Creates the necessary maintenance tasks to request access to existing exchange keys with the new key pair for the current user. * @param user the user which owns the new key pair. * @param keypair a new key pair for the current user. * @param requestToOwnerTypes specifies the types of data owner that have shared data with the current data owner or which were given access to data * from the current data owner will receive a 'give access back' request. If not specified, the value be inferred from the current data owner type. */ createMaintenanceTasksForNewKeypair(user: User, keypair: KeyPair, requestToOwnerTypes?: DataOwnerTypeEnum[]): Promise; private getExchangeKeysInfosOf; private createMaintenanceTask; }