import * as types from '@globalid/attestations-types'; import API = types.API; import Attestations = API.V1.Attestations; import { DecryptedIdentityStateObject, DecryptedVaultData, EncryptedData, EncryptedIdentityStateObject, EncryptedVaultData } from '../interfaces'; import { GetVaultInformation } from './api_interfaces'; /** * Method to generate the crypto matrial depending on agency name and public encryption key * * @export * @async * @method generateCryptoMaterial * @param agencyName The name of the agency * @param publicEncryptionKey The public encryption key used to generate the crypto material */ export declare function generateCryptoMaterials(agencyName: string, appUUID: string, publicEncryptionKey: string): Promise; /** * Decrypt the identity state object */ export declare function decryptIdentityState(encryptedIdentityState: EncryptedIdentityStateObject, password: string): Promise; /** * aesCbcEncryptIdentity * * Lifted from crypto-library-web until it has been updated */ export declare function aesCbcDecryptIdentity(encryptedData: string, password: string, iterations?: number): Promise; /** * Helper function decrypts multiple data * in paralel */ export declare function decryptMultipleVaultData(vault_data: GetVaultInformation[], private_encryption_key: string): Promise; /** * Decrypts vault data by first decrypting the encryption * password with RSA decrypt and users private key and then * uses aes decrypt using decrypted password */ export declare function decryptVaultData(vault_data: GetVaultInformation, private_encryption_key: string): Promise; /** * aesCbcEncryptIdentity * * Lifted from crypto-library-web until it has been updated */ export declare function aesCbcEncryptIdentity(data: string, password: string, iterations?: number): Promise; /** * Encrypt data with the given type using the given public encryption key * * @export * @async * @method encryptData * @param data [object] JS Object to encrypt * @param publicEncryptionKey [string] Public Encryption Key * @returns [Promise] */ export declare function encryptData(data: T, publicEncryptionKey: string): Promise; /** * Decrypts tokens that are required for accessing vault information */ export declare function decryptVaultTokens(tokens: string[], private_encryption_key: string): Promise; /** * Encrypts decrypted vault data with the * agency private key and prepares data for the * accessor creation */ export declare function encryptVaultDataWithAgency(vault_data: DecryptedVaultData, encryption_key: string): Promise; /** * rsaSign */ export declare function rsaSign(private_encryption_key: string, signature_data: string): Promise;