import { BaseCipherEncodingOptions } from "../../../types/options.js";
import { BaseEncryptResult, Result } from "../../../types/index.js";
import { BaseDesCipher } from "./index.js";
import { BinaryLike } from "node:crypto";
import { TransformOptions } from "node:stream";

//#region src/des/_internals/base/encrypt-and-decrypt.d.ts
declare abstract class BaseDesEncryptAndDecrypt extends BaseDesCipher {
  decrypt(encryptedData: BinaryLike, iv: BinaryLike, encodingOptions?: BaseCipherEncodingOptions.Decrypt, decipherOptions?: TransformOptions): Result<string>;
  decryptToJson<T = any>(encryptedData: BinaryLike, iv: BinaryLike, encodingOptions?: BaseCipherEncodingOptions.Decrypt, decipherOptions?: TransformOptions): Result<T>;
  encrypt(data: BinaryLike, encodingOptions?: BaseCipherEncodingOptions.Encrypt, cipherOptions?: TransformOptions): BaseEncryptResult;
  encryptJson(data: any, encodingOptions?: BaseCipherEncodingOptions.Encrypt, cipherOptions?: TransformOptions): BaseEncryptResult;
}
//#endregion
export { BaseDesEncryptAndDecrypt };
//# sourceMappingURL=encrypt-and-decrypt.d.ts.map