"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MLKEMKeyPair = void 0;
const ml_kem_1 = require("@noble/post-quantum/ml-kem");
const trackerless_network_1 = require("@streamr/trackerless-network");
class MLKEMKeyPair {
    privateKey;
    publicKey;
    constructor(privateKey, publicKey) {
        this.privateKey = privateKey;
        this.publicKey = publicKey;
    }
    getPublicKey() {
        return this.publicKey;
    }
    getPrivateKey() {
        return this.privateKey;
    }
    // eslint-disable-next-line class-methods-use-this
    getEncryptionType() {
        return trackerless_network_1.AsymmetricEncryptionType.ML_KEM;
    }
    static create() {
        const keyPair = ml_kem_1.ml_kem1024.keygen();
        return new MLKEMKeyPair(Buffer.from(keyPair.secretKey), Buffer.from(keyPair.publicKey));
    }
}
exports.MLKEMKeyPair = MLKEMKeyPair;
//# sourceMappingURL=MLKEMKeyPair.js.map