import type { KupynaBase, KupynaDerived } from "./kupyna";
/** Abstract class for Kupyna KMAC */
export declare abstract class KupynaKMAC<T, H extends (KupynaBase<H> | KupynaDerived<H>)> {
    key: Uint8Array;
    readonly outputLen: number;
    readonly blockLen: number;
    readonly threshold: number;
    h: H;
    ik: Uint8Array;
    len: bigint;
    constructor(hash: () => H, kpad: Uint8Array, key: Uint8Array);
    /** Clone hash instance */
    abstract clone(): KupynaKMAC<T, H>;
    /** Update hash buffer */
    update(data: Uint8Array): T;
    /** Finalize hash computation and return result as Uint8Array */
    digest(): Uint8Array;
    private final;
}
