import { __decorate } from "tslib";
import { AsnProp, AsnPropTypes, AsnIntegerArrayBufferConverter, } from "@peculiar/asn1-schema";
import { OtherPrimeInfos } from "./other_prime_info.js";
export class RSAPrivateKey {
    version = 0;
    modulus = new ArrayBuffer(0);
    publicExponent = new ArrayBuffer(0);
    privateExponent = new ArrayBuffer(0);
    prime1 = new ArrayBuffer(0);
    prime2 = new ArrayBuffer(0);
    exponent1 = new ArrayBuffer(0);
    exponent2 = new ArrayBuffer(0);
    coefficient = new ArrayBuffer(0);
    otherPrimeInfos;
    constructor(params = {}) {
        Object.assign(this, params);
    }
}
__decorate([
    AsnProp({ type: AsnPropTypes.Integer })
], RSAPrivateKey.prototype, "version", void 0);
__decorate([
    AsnProp({
        type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter,
    })
], RSAPrivateKey.prototype, "modulus", void 0);
__decorate([
    AsnProp({
        type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter,
    })
], RSAPrivateKey.prototype, "publicExponent", void 0);
__decorate([
    AsnProp({
        type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter,
    })
], RSAPrivateKey.prototype, "privateExponent", void 0);
__decorate([
    AsnProp({
        type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter,
    })
], RSAPrivateKey.prototype, "prime1", void 0);
__decorate([
    AsnProp({
        type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter,
    })
], RSAPrivateKey.prototype, "prime2", void 0);
__decorate([
    AsnProp({
        type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter,
    })
], RSAPrivateKey.prototype, "exponent1", void 0);
__decorate([
    AsnProp({
        type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter,
    })
], RSAPrivateKey.prototype, "exponent2", void 0);
__decorate([
    AsnProp({
        type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter,
    })
], RSAPrivateKey.prototype, "coefficient", void 0);
__decorate([
    AsnProp({
        type: OtherPrimeInfos, optional: true,
    })
], RSAPrivateKey.prototype, "otherPrimeInfos", void 0);
