import { type TArg, type TRet } from "@li0ard/gost3413/dist/utils.js";
import type { KalynaBase } from "../core.js";
/**
 * Encrypts data using Counter with Cipher Block Chaining-Message Authentication Code (CCM) mode
 * @param cipherClass Initialized cipher class
 * @param plainData Data to be encrypted and authenticated
 * @param iv Initialization vector
 * @param authData Additional data to be authenticated
 * @param q MAC size
 * @param Nb Param `Nb`
 */
export declare const encryptCCM: (cipherClass: KalynaBase, plainData: TArg<Uint8Array>, iv: TArg<Uint8Array>, authData?: TArg<Uint8Array>, q?: number, Nb?: number) => TRet<Uint8Array>;
/**
 * Decrypts data using Counter with Cipher Block Chaining-Message Authentication Code (CCM) mode
 * @param cipherClass Initialized cipher class
 * @param encryptedData Data to be decrypted and authenticated
 * @param iv Initialization vector
 * @param authData Additional data to be authenticated
 * @param q MAC size
 * @param Nb Param `Nb`
 */
export declare const decryptCCM: (cipherClass: KalynaBase, encryptedData: TArg<Uint8Array>, iv: TArg<Uint8Array>, authData?: TArg<Uint8Array>, q?: number, Nb?: number) => TRet<Uint8Array>;
