import { FieldType } from '../utils/SchemaNamespace'; import { CloudDBZoneQuery } from '../CloudDBZoneQuery'; import { BaseEncrypt } from './compatible/BaseEncrypt'; import { NaturalBaseRef } from '../base/NaturalBaseRef'; export declare class EntireEncryption { private static encryptor; private userKeysInfo; private encryptInstance; private readonly naturalBaseRef; static setEncryptor(encryptor: BaseEncrypt): void; constructor(naturalBaseRef: NaturalBaseRef); aesGcm256Encrypt(plainText: Uint8Array, key: Uint8Array, iv: Uint8Array): Promise; aesGcm256Decrypt(cipherText: Uint8Array, key: Uint8Array, iv: Uint8Array): Promise; generateRandom(num: number): Uint8Array; setKeys(userId: string, dataKey: Uint8Array, keyLen: number, oldDataKey: Uint8Array, oldKeyLen: number, dataKeyVersion: number): Promise; conditionEntireEncryptedField(schemaName: string, fieldName: string, fieldType: FieldType, value: any): Promise; encryptEntireEncryptedFields(objectItems: any[]): Promise; private handleEntireEncryptedField; private encryptEntireEncryptedField; private getPlainText; private encryptFieldData; private calculateGcmIv; private getOpeFieldDataValue; private convertFieldToOpeDataType; decryptEntireEncryptedFields(query: CloudDBZoneQuery, objectItems: Array): Promise>; private innerDecryptEntireEncryptedFields; private decryptFieldData; clearUserKeysInfo(): void; private clearUserKey; private generateKeys; private generateColumnKeys; private generateEncryptedKey; private generateOldEncryptedKey; private generateIvKey; private generateOpeKey; private calculateHmacSha256; isValidEncryptionOperation(schemaName: string): Promise; private checkUserId; GetEncryptVersion(): number; }