import { PlaintextHeader } from "./interfaces/plaintext_header"; /** * This class exposes the CoverCrypt primitives. * */ export declare class CoverCryptHybridDecryption { private readonly _asymmetricDecryptionKey; constructor(asymmetricDecryptionKey: Uint8Array); get asymmetricDecryptionKey(): Uint8Array; /** * Decrypts a CoverCrypt ciphertext header using the given user decryption key * @param {Uint8Array} encryptedHeader CoverCrypt encrypted header * @param {object} options Additional optional options to the encryption * @param {Uint8Array} options.authenticationData Data use to authenticate the encrypted value when decrypting (if use, should be use during * @returns {Uint8Array} plaintext decrypted CoverCrypt header */ decryptHybridHeader(encryptedHeader: Uint8Array, options?: { authenticationData?: Uint8Array; }): PlaintextHeader; /** * Decrypts a AES256-GCM block * @param {Uint8Array} symmetricKey AES key * @param {Uint8Array} encryptedBytes Encrypted block * @param {object} options Additional optional options to the encryption * @param {Uint8Array} options.authenticationData Data use to authenticate the encrypted value when decrypting (if use, should be use during * @returns {Uint8Array} plaintext decrypted block */ decryptBlock(symmetricKey: Uint8Array, encryptedBytes: Uint8Array, options?: { authenticationData?: Uint8Array; }): Uint8Array; /** * Hybrid decrypt wrapper: CoverCrypt decrypt then AES decrypt * @param {Uint8Array} ciphertext the encrypted data * @param {object} options Additional optional options to the encryption * @param {Uint8Array} options.authenticationData Data use to authenticate the encrypted value when decrypting (if use, should be use during * @returns the decrypted header metadata and the plaintext value */ decrypt(ciphertext: Uint8Array, options?: { authenticationData?: Uint8Array; }): { headerMetadata: Uint8Array; plaintext: Uint8Array; }; } /** * Hybrid decrypt wrapper: CoverCrypt decrypt then AES decrypt * @param decryptionKey the user key to decrypt * @param {Uint8Array} ciphertext the encrypted data * @param {object} options Additional optional options to the encryption * @param {Uint8Array} options.authenticationData Data use to authenticate the encrypted value when decrypting (if use, should be use during * @returns the decrypted header metadata and the the plaintext value */ export declare function decrypt(decryptionKey: Uint8Array, ciphertext: Uint8Array, options?: { authenticationData?: Uint8Array; }): { headerMetadata: Uint8Array; plaintext: Uint8Array; }; //# sourceMappingURL=decryption.d.ts.map