'use strict';

var types_generic_typedEnum = require('../../generic/typed-enum.cjs');
require('../../generic/typed-bytes.cjs');
require('../../generic/typed-string.cjs');
require('../../generic/typed-array.cjs');
require('../../generic/typed-tuple.cjs');
var types_generic_typedNull = require('../../generic/typed-null.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');
require('../../generic/typed-struct.cjs');
require('uuid');
require('js-sha256');
require('../../../vc/crypto/Bls12381BBDT16KeyPairDock2024.cjs');
require('../../../vc/crypto/Bls12381BBDT16MACDock2024.cjs');
require('../../../vc/crypto/Bls12381BBDT16MACProofDock2024.cjs');
require('../../../vc/crypto/Bls12381BBSKeyPairDock2023.cjs');
require('../../../vc/crypto/Bls12381BBSSignatureDock2022.cjs');
require('../../../vc/crypto/Bls12381BBSSignatureDock2023.cjs');
require('../../../vc/crypto/Bls12381BBSSignatureProofDock2022.cjs');
require('../../../vc/crypto/Bls12381BBSSignatureProofDock2023.cjs');
require('../../../vc/crypto/Bls12381BDDT16KeyPairDock2024.cjs');
require('../../../vc/crypto/Bls12381BDDT16MACDock2024.cjs');
require('../../../vc/crypto/Bls12381BDDT16MACProofDock2024.cjs');
require('../../../vc/crypto/Bls12381G2KeyPairDock2022.cjs');
require('../../../vc/crypto/Bls12381PSKeyPairDock2023.cjs');
require('../../../vc/crypto/Bls12381PSSignatureDock2023.cjs');
require('../../../vc/crypto/Bls12381PSSignatureProofDock2023.cjs');
var vc_crypto_constants = require('../../../vc/crypto/constants.cjs');
require('@juanelas/base64');
require('../../../keypairs/keypair-secp256k1.cjs');
require('../../../vc/crypto/common/CustomLinkedDataSignature.cjs');
require('@stablelib/ed25519');
require('../../public-keys/public-key.cjs');
require('../../public-keys/public-key-sr25519-value.cjs');
require('../../public-keys/public-key-ed25519-value.cjs');
require('../../public-keys/public-key-secp256k1-value.cjs');
require('../../public-keys/public-key-x25519-value.cjs');
require('../../signatures/signature-value.cjs');
require('../../signatures/signature.cjs');
require('../../../keypairs/dock-keypair.cjs');
require('@transmute/json-web-signature');
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');
require('@docknetwork/crypto-wasm-ts');
require('../../../vc/crypto/common/DockCryptoKeyPair.cjs');
require('@docknetwork/crypto-wasm-ts/lib/index.js');
require('../../../vc/crypto/common/DockCryptoSignature.cjs');
require('jsonld-signatures');
require('json-stringify-deterministic');
require('semver/preload.js');
require('base64url');
require('jsonld');
require('./verification-method-ref.cjs');
require('../../generic/with-qualifier.cjs');
require('../../generic/utils.cjs');
require('../../generic/typed-bytes-array.cjs');
require('../onchain/typed-did/index.cjs');
require('../onchain/typed-did/did-method-key/did-method-key-public-key.cjs');
require('../../../utils/encoding/base-58-btc.cjs');
require('../../generic/sized.cjs');
require('../../../utils/types/number.cjs');
require('../onchain/constants.cjs');
require('../onchain/typed-did/signature.cjs');
require('../onchain/typed-did/did-method-key/did-method-key-signature.cjs');
require('../../signatures/signature-ed25519-value.cjs');
require('../../signatures/signature-secp256k1-value.cjs');
require('../../signatures/signature-sr25519-value.cjs');
require('../onchain/typed-did/dock-did-value.cjs');
require('../../generic/typed-uuid.cjs');
require('../onchain/typed-did/cheqd-did.cjs');
require('../../../vc/jws.cjs');
require('../../../vc/crypto/common/DockCryptoSignatureProof.cjs');
require('elliptic');

class VerificationMethodType extends types_generic_typedEnum {}
class Ed25519Verification2018Method extends VerificationMethodType {
  static Class = types_generic_typedNull;

  static Type = vc_crypto_constants.Ed25519VerKeyName;
}
class JsonWebKey2020Method extends VerificationMethodType {
  static Class = types_generic_typedNull;

  static Type = vc_crypto_constants.JsonWebKey2020VerKeyName;
}
class Ed25519Verification2020Method extends VerificationMethodType {
  static Class = types_generic_typedNull;

  static Type = vc_crypto_constants.Ed255192020VerKeyName;
}
class Sr25519Verification2020Method extends VerificationMethodType {
  static Class = types_generic_typedNull;

  static Type = vc_crypto_constants.Sr25519VerKeyName;
}
class EcdsaSecp256k1VerificationKey2019 extends VerificationMethodType {
  static Class = types_generic_typedNull;

  static Type = vc_crypto_constants.EcdsaSecp256k1VerKeyName;
}
class X25519KeyAgreementKey2019 extends VerificationMethodType {
  static Class = types_generic_typedNull;

  static Type = 'X25519KeyAgreementKey2019';
}
class Bls12381G2VerificationKeyDock2022 extends VerificationMethodType {
  static Class = types_generic_typedNull;

  static Type = vc_crypto_constants.Bls12381BBS23DockVerKeyName;
}
class Bls12381BBSVerificationKeyDock2023 extends VerificationMethodType {
  static Class = types_generic_typedNull;

  static Type = vc_crypto_constants.Bls12381BBSDockVerKeyName;
}
class Bls12381BBDT16VerificationKeyDock2024 extends VerificationMethodType {
  static Class = types_generic_typedNull;

  static Type = vc_crypto_constants.Bls12381BBDT16DockVerKeyName;
}
class Bls12381PSVerificationKeyDock2023 extends VerificationMethodType {
  static Class = types_generic_typedNull;

  static Type = vc_crypto_constants.Bls12381PSDockVerKeyName;
}
VerificationMethodType.bindVariants(
  Ed25519Verification2018Method,
  Ed25519Verification2020Method,
  Sr25519Verification2020Method,
  EcdsaSecp256k1VerificationKey2019,
  X25519KeyAgreementKey2019,
  Bls12381G2VerificationKeyDock2022,
  Bls12381BBSVerificationKeyDock2023,
  Bls12381BBDT16VerificationKeyDock2024,
  Bls12381PSVerificationKeyDock2023,
  JsonWebKey2020Method,
);

exports.Bls12381BBDT16VerificationKeyDock2024 = Bls12381BBDT16VerificationKeyDock2024;
exports.Bls12381BBSVerificationKeyDock2023 = Bls12381BBSVerificationKeyDock2023;
exports.Bls12381G2VerificationKeyDock2022 = Bls12381G2VerificationKeyDock2022;
exports.Bls12381PSVerificationKeyDock2023 = Bls12381PSVerificationKeyDock2023;
exports.EcdsaSecp256k1VerificationKey2019 = EcdsaSecp256k1VerificationKey2019;
exports.Ed25519Verification2018Method = Ed25519Verification2018Method;
exports.Ed25519Verification2020Method = Ed25519Verification2020Method;
exports.JsonWebKey2020Method = JsonWebKey2020Method;
exports.Sr25519Verification2020Method = Sr25519Verification2020Method;
exports.VerificationMethodType = VerificationMethodType;
exports.X25519KeyAgreementKey2019 = X25519KeyAgreementKey2019;
//# sourceMappingURL=verification-method-type.cjs.map
