'use strict';

require('../../generic/typed-enum.cjs');
var types_generic_typedBytes = require('../../generic/typed-bytes.cjs');
require('../../generic/typed-string.cjs');
require('../../generic/typed-array.cjs');
require('../../generic/typed-tuple.cjs');
require('../../generic/typed-null.cjs');
var types_generic_option = require('../../generic/option.cjs');
require('../../../utils/types/array.cjs');
require('crypto');
require('bs58');
require('multiformats/bases/base58');
require('varint');
require('../../../utils/encoding/ss-58.cjs');
require('../../generic/typed-number.cjs');
require('../../generic/typed-set.cjs');
require('../../generic/typed-map.cjs');
var types_generic_typedStruct = require('../../generic/typed-struct.cjs');
require('uuid');
require('js-sha256');
var types_offchainSignatures_curveType = require('../curve-type.cjs');
require('../../../utils/types/iterable.cjs');
require('../../../utils/types/object.cjs');
require('../../../utils/interfaces.cjs');
require('../../../utils/assert.cjs');
require('../../../utils/error.cjs');
require('../../../utils/inheritance.cjs');
require('../../../utils/types/set.cjs');
require('../../generic/with-base.cjs');
require('../../../utils/types/bytes.cjs');
require('../../../utils/types/string.cjs');
require('../../generic/with-catch-null.cjs');
require('../../generic/with-eq.cjs');
require('../../generic/any-of.cjs');
require('../../generic/with-from.cjs');
require('blake2b');
require('../../generic/with-from-json-bytes.cjs');
require('../../generic/create-placeholder.cjs');

class OffchainSignatureParamsValue extends types_generic_typedStruct {
  static Classes = {
    bytes: class Bytes extends types_generic_typedBytes {},
    label: types_generic_option(class Label extends types_generic_typedBytes {}),
    curveType: types_offchainSignatures_curveType.CurveType,
  };

  constructor(bytes, label, curveType = new types_offchainSignatures_curveType.CurveTypeBls12381()) {
    super(bytes, label, curveType);
  }
}
class BBSParamsValue extends OffchainSignatureParamsValue {
  static Type = 'bbs';
}
class BBSPlusParamsValue extends OffchainSignatureParamsValue {
  static Type = 'bbsPlus';
}
class PSParamsValue extends OffchainSignatureParamsValue {
  static Type = 'ps';
}
class BBDT16ParamsValue extends OffchainSignatureParamsValue {
  static Type = 'bbdt16';
}

exports.BBDT16ParamsValue = BBDT16ParamsValue;
exports.BBSParamsValue = BBSParamsValue;
exports.BBSPlusParamsValue = BBSPlusParamsValue;
exports.OffchainSignatureParamsValue = OffchainSignatureParamsValue;
exports.PSParamsValue = PSParamsValue;
//# sourceMappingURL=value.cjs.map
