import type { KdfInterface } from "../interfaces/kdfInterface.js"; import type { KemId } from "../identifiers.js"; import type { KemInterface } from "../interfaces/kemInterface.js"; import type { DhkemPrimitives } from "../interfaces/dhkemPrimitives.js"; import type { SenderContextParams } from "../interfaces/senderContextParams.js"; import type { RecipientContextParams } from "../interfaces/recipientContextParams.js"; export declare class Dhkem implements KemInterface { readonly id: KemId; readonly secretSize: number; readonly encSize: number; readonly publicKeySize: number; readonly privateKeySize: number; protected _prim: DhkemPrimitives; protected _kdf: KdfInterface; constructor(id: KemId, prim: DhkemPrimitives, kdf: KdfInterface); serializePublicKey(key: CryptoKey): Promise; deserializePublicKey(key: ArrayBufferLike | ArrayBufferView): Promise; serializePrivateKey(key: CryptoKey): Promise; deserializePrivateKey(key: ArrayBufferLike | ArrayBufferView): Promise; importKey(format: "raw" | "jwk", key: ArrayBuffer | JsonWebKey, isPublic?: boolean): Promise; generateKeyPair(): Promise; deriveKeyPair(ikm: ArrayBufferLike | ArrayBufferView): Promise; encap(params: SenderContextParams): Promise<{ sharedSecret: ArrayBuffer; enc: ArrayBuffer; }>; decap(params: RecipientContextParams): Promise; private _generateSharedSecret; } //# sourceMappingURL=dhkem.d.ts.map