import '../../generic/typed-enum.js';
import TypedBytes from '../../generic/typed-bytes.js';
import '../../generic/typed-string.js';
import '../../generic/typed-array.js';
import '../../generic/typed-tuple.js';
import '../../generic/typed-null.js';
import option from '../../generic/option.js';
import '../../../utils/types/array.js';
import 'crypto';
import 'bs58';
import 'multiformats/bases/base58';
import 'varint';
import '../../../utils/encoding/ss-58.js';
import '../../generic/typed-number.js';
import '../../generic/typed-set.js';
import '../../generic/typed-map.js';
import TypedStruct from '../../generic/typed-struct.js';
import 'uuid';
import 'js-sha256';
import { CurveType, CurveTypeBls12381 } from '../curve-type.js';
import '../../../utils/types/iterable.js';
import '../../../utils/types/object.js';
import '../../../utils/interfaces.js';
import '../../../utils/assert.js';
import '../../../utils/error.js';
import '../../../utils/inheritance.js';
import '../../../utils/types/set.js';
import '../../generic/with-base.js';
import '../../../utils/types/bytes.js';
import '../../../utils/types/string.js';
import '../../generic/with-catch-null.js';
import '../../generic/with-eq.js';
import '../../generic/any-of.js';
import '../../generic/with-from.js';
import 'blake2b';
import '../../generic/with-from-json-bytes.js';
import '../../generic/create-placeholder.js';

class OffchainSignatureParamsValue extends TypedStruct {
  static Classes = {
    bytes: class Bytes extends TypedBytes {},
    label: option(class Label extends TypedBytes {}),
    curveType: CurveType,
  };

  constructor(bytes, label, curveType = new 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';
}

export { BBDT16ParamsValue, BBSParamsValue, BBSPlusParamsValue, OffchainSignatureParamsValue, PSParamsValue };
//# sourceMappingURL=value.js.map
