/// <reference types="node" />
import { Binary } from '../binary.js';
import { SymmetricCipher } from './symmetric-cipher-base.js';
import type { CryptoService, DecryptResult, EncryptResult } from '../crypto/declarations.js';
export declare class AesGcmCipher extends SymmetricCipher {
    constructor(cryptoService: CryptoService);
    /**
     * Encrypts the payload using AES w/ GCM mode.  This function will take the
     * result from the crypto service and construct the payload automatically from
     * it's parts.  There is no need to process the payload.
     */
    encrypt(payload: Binary, key: Binary, iv: Binary): Promise<EncryptResult>;
    /**
     * Encrypts the payload using AES w/ CBC mode
     * @returns
     */
    decrypt(buffer: Buffer, key: Binary, iv?: Binary): Promise<DecryptResult>;
}
//# sourceMappingURL=aes-gcm-cipher.d.ts.map