import type { DhkemPrimitives } from "../../interfaces/dhkemPrimitives.js";
import type { KdfInterface } from "../../interfaces/kdfInterface.js";
import { NativeAlgorithm } from "../../algorithm.js";
import { KemId } from "../../identifiers.js";
export declare class Ec extends NativeAlgorithm implements DhkemPrimitives {
    private _hkdf;
    private _alg;
    private _nPk;
    private _nSk;
    private _nDh;
    private _order;
    private _bitmask;
    private _pkcs8AlgId;
    private _curveParams;
    constructor(kem: KemId, hkdf: KdfInterface);
    serializePublicKey(key: CryptoKey): Promise<ArrayBuffer>;
    deserializePublicKey(key: ArrayBufferLike | ArrayBufferView): Promise<CryptoKey>;
    serializePrivateKey(key: CryptoKey): Promise<ArrayBuffer>;
    deserializePrivateKey(key: ArrayBufferLike | ArrayBufferView): Promise<CryptoKey>;
    importKey(format: "raw" | "jwk", key: ArrayBuffer | JsonWebKey, isPublic: boolean): Promise<CryptoKey>;
    generateKeyPair(): Promise<CryptoKeyPair>;
    deriveKeyPair(ikm: ArrayBufferLike | ArrayBufferView): Promise<CryptoKeyPair>;
    derivePublicKey(key: CryptoKey): Promise<CryptoKey>;
    dh(sk: CryptoKey, pk: CryptoKey): Promise<ArrayBuffer>;
    private _importRawKey;
    private _importJWK;
    private _deserializePkcs8Key;
    private _derivePublicKeyWithoutJwkExport;
}
//# sourceMappingURL=ec.d.ts.map