import type { KdfInterface } from "../interfaces/kdfInterface.js"; import { KdfId } from "../identifiers.js"; import { NativeAlgorithm } from "../algorithm.js"; export declare function toUint8Array(input: ArrayBufferLike | ArrayBufferView): Uint8Array; export declare function toArrayBuffer(input: ArrayBufferLike | ArrayBufferView): ArrayBuffer; export declare class HkdfNative extends NativeAlgorithm implements KdfInterface { readonly id: KdfId; readonly hashSize: number; protected _suiteId: Uint8Array; protected readonly algHash: HmacKeyGenParams; constructor(); init(suiteId: Uint8Array): void; buildLabeledIkm(label: Uint8Array, ikm: Uint8Array): Uint8Array; buildLabeledInfo(label: Uint8Array, info: Uint8Array, len: number): Uint8Array; extract(salt: ArrayBufferLike | ArrayBufferView, ikm: ArrayBufferLike | ArrayBufferView): Promise; expand(prk: ArrayBufferLike | ArrayBufferView, info: ArrayBufferLike | ArrayBufferView, len: number): Promise; extractAndExpand(salt: ArrayBufferLike | ArrayBufferView, ikm: ArrayBufferLike | ArrayBufferView, info: ArrayBufferLike | ArrayBufferView, len: number): Promise; labeledExtract(salt: ArrayBufferLike | ArrayBufferView, label: Uint8Array, ikm: Uint8Array): Promise; labeledExpand(prk: ArrayBufferLike | ArrayBufferView, label: Uint8Array, info: Uint8Array, len: number): Promise; protected _checkInit(): void; } export declare class HkdfSha256Native extends HkdfNative { /** KdfId.HkdfSha256 (0x0001) */ id: KdfId; /** 32 */ hashSize: number; /** The parameters for Web Cryptography API */ algHash: HmacKeyGenParams; } export declare class HkdfSha384Native extends HkdfNative { /** KdfId.HkdfSha384 (0x0002) */ id: KdfId; /** 48 */ hashSize: number; /** The parameters for Web Cryptography API */ algHash: HmacKeyGenParams; } export declare class HkdfSha512Native extends HkdfNative { /** KdfId.HkdfSha512 (0x0003) */ id: KdfId; /** 64 */ hashSize: number; /** The parameters for Web Cryptography API */ algHash: HmacKeyGenParams; } //# sourceMappingURL=hkdf.d.ts.map