/// <reference types="node" />
import type { Binary } from '../binary.js';
import type { CryptoService, DecryptResult, EncryptResult } from '../crypto/declarations.js';
export declare abstract class SymmetricCipher {
    cryptoService: CryptoService;
    name?: string;
    ivLength?: number;
    keyLength?: number;
    constructor(cryptoService: CryptoService);
    generateInitializationVector(): string;
    generateKey(): string;
    abstract encrypt(payload: Binary, key: Binary, iv: Binary): Promise<EncryptResult>;
    abstract decrypt(payload: Buffer, key: Binary, iv?: Binary): Promise<DecryptResult>;
}
//# sourceMappingURL=symmetric-cipher-base.d.ts.map