import { DomainModule } from 'bf-types'; import { AsymmetricKeyType } from './Encryption.Types'; /** * Decode a secret value * * @param encodedSecretValue A secret value which has been encoded * @param privateKey A PEM formatted RSA private key */ export declare function decodeSecretValue(encodedSecretValue: string, privateKey?: string): string; /** * Encrypt data using an RSA public key * * @param publicKey A PEM formatted RSA public key * @param unencryptedData Data that will be encrypted */ export declare function rsaEncryptData(publicKey: string, unencryptedData: string): string; /** * Decrypt data using an RSA private key * * @param privateKey A PEM formatted RSA private key * @param encryptedData Data that will be decrypted */ export declare function rsaDecryptData(privateKey: string, encryptedData: string): string; /** * Get an RSA private key used to decrypt secret values associated with a particular block-5 module * * @param moduleName The name of a block-5 module */ export declare function getEnvironmentSecretPrivateKey(moduleName: DomainModule): string; /** * Get an RSA public key used to encrypt secret values associated with a particular block-5 module * * @param moduleName The name of a block-5 module */ export declare function getEnvironmentSecretPublicKey(moduleName: DomainModule): string; /** * Convert an RSA key string into PEM format * * @param keyString An RSA key in the form of a single line string * @param keyType The RSA key type */ export declare function formatRsaKeyString(keyString: string, keyType: AsymmetricKeyType): string; /** * Remove any characters that would be in a PEM formatted RSA key * * @param keyString An RSA key string */ export declare function removePemFormatting(keyString: string): string; /** * Create a hash for an encryption key * * @param keyString An RSA key string */ export declare function encryptionKeyHash(keyString: string): string;