import { type Unknown } from "@hazae41/binary";
import type { Cursor } from "@hazae41/cursor";
export declare class PreHmacKey {
    readonly index: bigint;
    readonly major: Unknown<ArrayBuffer, 64>;
    constructor(index: bigint, major: Unknown<ArrayBuffer, 64>);
    sizeOrThrow(): number;
    writeOrThrow(cursor: Cursor<ArrayBuffer>): void;
    digestOrThrow(): Promise<HmacKey>;
}
export declare class HmacKey {
    readonly key: CryptoKey;
    constructor(key: CryptoKey);
    signOrThrow(data: Uint8Array<ArrayBuffer>): Promise<Uint8Array<ArrayBuffer>>;
    verifyOrThrow(data: Uint8Array<ArrayBuffer>, signature: Uint8Array<ArrayBuffer>): Promise<void>;
}
