import TypedEnum from '../../generic/typed-enum.js';
import '../../generic/typed-bytes.js';
import '../../generic/typed-string.js';
import '../../generic/typed-array.js';
import '../../generic/typed-tuple.js';
import Null from '../../generic/typed-null.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 '../../generic/typed-struct.js';
import 'uuid';
import 'js-sha256';
import '../../../vc/crypto/Bls12381BBDT16KeyPairDock2024.js';
import '../../../vc/crypto/Bls12381BBDT16MACDock2024.js';
import '../../../vc/crypto/Bls12381BBDT16MACProofDock2024.js';
import '../../../vc/crypto/Bls12381BBSKeyPairDock2023.js';
import '../../../vc/crypto/Bls12381BBSSignatureDock2022.js';
import '../../../vc/crypto/Bls12381BBSSignatureDock2023.js';
import '../../../vc/crypto/Bls12381BBSSignatureProofDock2022.js';
import '../../../vc/crypto/Bls12381BBSSignatureProofDock2023.js';
import '../../../vc/crypto/Bls12381BDDT16KeyPairDock2024.js';
import '../../../vc/crypto/Bls12381BDDT16MACDock2024.js';
import '../../../vc/crypto/Bls12381BDDT16MACProofDock2024.js';
import '../../../vc/crypto/Bls12381G2KeyPairDock2022.js';
import '../../../vc/crypto/Bls12381PSKeyPairDock2023.js';
import '../../../vc/crypto/Bls12381PSSignatureDock2023.js';
import '../../../vc/crypto/Bls12381PSSignatureProofDock2023.js';
import { Ed25519VerKeyName, Ed255192020VerKeyName, Sr25519VerKeyName, EcdsaSecp256k1VerKeyName, Bls12381BBS23DockVerKeyName, Bls12381BBSDockVerKeyName, Bls12381BBDT16DockVerKeyName, Bls12381PSDockVerKeyName, JsonWebKey2020VerKeyName } from '../../../vc/crypto/constants.js';
import '@juanelas/base64';
import '../../../keypairs/keypair-secp256k1.js';
import '../../../vc/crypto/common/CustomLinkedDataSignature.js';
import '@stablelib/ed25519';
import '../../public-keys/public-key.js';
import '../../public-keys/public-key-sr25519-value.js';
import '../../public-keys/public-key-ed25519-value.js';
import '../../public-keys/public-key-secp256k1-value.js';
import '../../public-keys/public-key-x25519-value.js';
import '../../signatures/signature-value.js';
import '../../signatures/signature.js';
import '../../../keypairs/dock-keypair.js';
import '@transmute/json-web-signature';
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';
import '@docknetwork/crypto-wasm-ts';
import '../../../vc/crypto/common/DockCryptoKeyPair.js';
import '@docknetwork/crypto-wasm-ts/lib/index.js';
import '../../../vc/crypto/common/DockCryptoSignature.js';
import 'jsonld-signatures';
import 'json-stringify-deterministic';
import 'semver/preload.js';
import 'base64url';
import 'jsonld';
import './verification-method-ref.js';
import '../../generic/with-qualifier.js';
import '../../generic/utils.js';
import '../../generic/typed-bytes-array.js';
import '../onchain/typed-did/index.js';
import '../onchain/typed-did/did-method-key/did-method-key-public-key.js';
import '../../../utils/encoding/base-58-btc.js';
import '../../generic/sized.js';
import '../../../utils/types/number.js';
import '../onchain/constants.js';
import '../onchain/typed-did/signature.js';
import '../onchain/typed-did/did-method-key/did-method-key-signature.js';
import '../../signatures/signature-ed25519-value.js';
import '../../signatures/signature-secp256k1-value.js';
import '../../signatures/signature-sr25519-value.js';
import '../onchain/typed-did/dock-did-value.js';
import '../../generic/typed-uuid.js';
import '../onchain/typed-did/cheqd-did.js';
import '../../../vc/jws.js';
import '../../../vc/crypto/common/DockCryptoSignatureProof.js';
import 'elliptic';

class VerificationMethodType extends TypedEnum {}
class Ed25519Verification2018Method extends VerificationMethodType {
  static Class = Null;

  static Type = Ed25519VerKeyName;
}
class JsonWebKey2020Method extends VerificationMethodType {
  static Class = Null;

  static Type = JsonWebKey2020VerKeyName;
}
class Ed25519Verification2020Method extends VerificationMethodType {
  static Class = Null;

  static Type = Ed255192020VerKeyName;
}
class Sr25519Verification2020Method extends VerificationMethodType {
  static Class = Null;

  static Type = Sr25519VerKeyName;
}
class EcdsaSecp256k1VerificationKey2019 extends VerificationMethodType {
  static Class = Null;

  static Type = EcdsaSecp256k1VerKeyName;
}
class X25519KeyAgreementKey2019 extends VerificationMethodType {
  static Class = Null;

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

  static Type = Bls12381BBS23DockVerKeyName;
}
class Bls12381BBSVerificationKeyDock2023 extends VerificationMethodType {
  static Class = Null;

  static Type = Bls12381BBSDockVerKeyName;
}
class Bls12381BBDT16VerificationKeyDock2024 extends VerificationMethodType {
  static Class = Null;

  static Type = Bls12381BBDT16DockVerKeyName;
}
class Bls12381PSVerificationKeyDock2023 extends VerificationMethodType {
  static Class = Null;

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

export { Bls12381BBDT16VerificationKeyDock2024, Bls12381BBSVerificationKeyDock2023, Bls12381G2VerificationKeyDock2022, Bls12381PSVerificationKeyDock2023, EcdsaSecp256k1VerificationKey2019, Ed25519Verification2018Method, Ed25519Verification2020Method, JsonWebKey2020Method, Sr25519Verification2020Method, VerificationMethodType, X25519KeyAgreementKey2019 };
//# sourceMappingURL=verification-method-type.js.map
