export function EncryptionMetadata(key: any, dataIv: any, matDesc: any, keyIv: any, dataAad: any, keyAad: any): {
    key: any;
    iv: any;
    matDesc: any;
    keyIv: any;
    dataAad: any;
    keyAad: any;
};
/**
 * Creates an encryption utility object.
 *
 * @param {module} encrypt
 * @param {module} filestream
 * @param {module} temp
 *
 * @returns {Object}
 * @constructor
 */
export function EncryptUtil(encrypt: any, filestream: any, temp: any): Object;
export class EncryptUtil {
    /**
     * Creates an encryption utility object.
     *
     * @param {module} encrypt
     * @param {module} filestream
     * @param {module} temp
     *
     * @returns {Object}
     * @constructor
     */
    constructor(encrypt: any, filestream: any, temp: any);
    /**
     * Encrypt content using AES-CBC algorithm.
     */
    encryptFileStream: (encryptionMaterial: any, content: any) => Promise<{
        encryptionMetadata: any;
        dataStream: Buffer<ArrayBuffer>;
    }>;
    encryptDataCBC: (encryptionMaterial: any, data: any) => {
        encryptionMetadata: any;
        dataStream: Buffer<ArrayBuffer>;
    };
    encryptDataGCM: (encryptionMaterial: any, data: any) => {
        encryptionMetadata: any;
        dataStream: Buffer<ArrayBuffer>;
    };
    encryptGCM: (data: any, key: any, iv: any, aad: any) => Buffer<ArrayBuffer>;
    decryptGCM: (data: any, key: any, iv: any, aad: any) => Buffer<ArrayBuffer>;
    /**
     * Encrypt file using AES algorithm.
     */
    encryptFile: (encryptionMaterial: any, inputFilePath: any, tmpDir?: null, chunkSize?: number) => Promise<{
        encryptionMetadata: any;
        dataFile: any;
    }>;
    encryptFileCBC: (encryptionMaterial: any, inputFilePath: any, tmpDir?: null, chunkSize?: number) => Promise<{
        encryptionMetadata: any;
        dataFile: any;
    }>;
    encryptFileGCM: (encryptionMaterial: any, inputFilePath: any, tmpDir?: null) => Promise<{
        encryptionMetadata: any;
        dataFile: any;
    }>;
    /**
     * Decrypt file using AES algorithm.
     */
    decryptFile: (metadata: any, encryptionMaterial: any, inputFilePath: any, tmpDir?: null, chunkSize?: number) => Promise<any>;
    decryptFileCBC: (metadata: any, encryptionMaterial: any, inputFilePath: any, tmpDir?: null, chunkSize?: number) => Promise<any>;
    decryptFileGCM: (metadata: any, encryptionMaterial: any, inputFilePath: any, tmpDir?: null) => Promise<any>;
}
