import type { BinaryLike } from 'node:crypto';
import type { TransformOptions } from 'node:stream';
import type { AesCipherEncodingOptions, BaseEncryptResult, Result } from '../../types';
import { BaseAesCipher } from './';
export declare abstract class BaseAesEncryptAndDecrypt extends BaseAesCipher {
    decrypt(encryptedData: BinaryLike, iv: BinaryLike, encodingOptions?: AesCipherEncodingOptions.Decrypt, decipherOptions?: TransformOptions): Result<string>;
    decryptToJson<T = any>(encryptedData: BinaryLike, iv: BinaryLike, encodingOptions?: AesCipherEncodingOptions.Decrypt, decipherOptions?: TransformOptions): Result<T>;
    encrypt(data: BinaryLike, encodingOptions?: AesCipherEncodingOptions.Encrypt, cipherOptions?: TransformOptions): BaseEncryptResult;
    encryptJson(data: any, encodingOptions?: AesCipherEncodingOptions.Encrypt, cipherOptions?: TransformOptions): BaseEncryptResult;
}
//# sourceMappingURL=encrypt-and-decrypt.d.ts.map