import type { CipherGCMTypes } from "node:crypto"; export type { CipherGCMTypes } from "node:crypto"; import type util from "node:util"; export type CryptoModule = typeof crypto; import type crypto from "node:crypto"; export interface UtilModule { promisify: typeof util.promisify; } interface EncryptorConfig { algorithm?: CipherGCMTypes; authTagLength?: number; ivLength?: number; keyLength?: number; saltLength?: number; } export declare class Encryptor { private readonly algorithm; private readonly authTagLength; private readonly crypto; private readonly ivLength; private readonly keyLength; private readonly saltLength; private readonly scryptAsync; constructor(cryptoModule: CryptoModule, utilModule: UtilModule, config?: EncryptorConfig); decrypt(encryptedBuffer: Buffer, key: Buffer): Promise; encrypt(buffer: Buffer, key: Buffer): Promise; generateKey(): Buffer; }