export interface HMACUtils {
    generateKey(): Promise<CryptoKey>;
    exportKey(key: CryptoKey): Promise<ArrayBuffer>;
    importKey(key: ArrayBuffer, requireRecommendedKeySize?: Boolean): Promise<CryptoKey>;
    sign(key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>;
    verify(key: CryptoKey, data: ArrayBuffer, signature: ArrayBuffer): Promise<boolean>;
}
export declare class HMACUtilsImpl implements HMACUtils {
    private readonly _crypto;
    private readonly recommendedKeyLengthBytes;
    private readonly params;
    constructor(crypto: Crypto);
    generateKey(): Promise<CryptoKey>;
    exportKey(key: CryptoKey): Promise<ArrayBuffer>;
    importKey(key: ArrayBuffer, requireRecommendedKeySize?: Boolean): Promise<CryptoKey>;
    sign(key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>;
    verify(key: CryptoKey, data: ArrayBuffer, signature: ArrayBuffer): Promise<boolean>;
}
