import { DidDocumentService } from "./service/DidDocumentService.mjs";
import { DidCommV1Service } from "./service/DidCommV1Service.mjs";
import { DidCommV2Service, DidCommV2ServiceEndpoint, DidCommV2ServiceEndpointOptions } from "./service/DidCommV2Service.mjs";
import { IndyAgentService } from "./service/IndyAgentService.mjs";
import { ServiceTransformer, serviceTypes } from "./service/ServiceTransformer.mjs";
import { LegacyDidCommV2Service, LegacyDidCommV2ServiceOptions } from "./service/LegacyDidCommV2Service.mjs";
import "./service/index.mjs";
import { VerificationMethod } from "./verificationMethod/VerificationMethod.mjs";
import { VERIFICATION_METHOD_TYPE_ECDSA_SECP256K1_VERIFICATION_KEY_2019, getEcdsaSecp256k1VerificationKey2019, getPublicJwkFromEcdsaSecp256k1VerificationKey2019, isEcdsaSecp256k1VerificationKey2019 } from "./verificationMethod/EcdsaSecp256k1VerificationKey2019.mjs";
import { VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2018, getEd25519VerificationKey2018, getPublicJwkFromEd25519VerificationKey2018, isEd25519VerificationKey2018 } from "./verificationMethod/Ed25519VerificationKey2018.mjs";
import { VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2020, getEd25519VerificationKey2020, getPublicJwkFromEd25519VerificationKey2020, isEd25519VerificationKey2020 } from "./verificationMethod/Ed25519VerificationKey2020.mjs";
import { VERIFICATION_METHOD_TYPE_JSON_WEB_KEY_2020, getJsonWebKey2020, getPublicJwkFromJsonWebKey2020, isJsonWebKey2020 } from "./verificationMethod/JsonWebKey2020.mjs";
import { VERIFICATION_METHOD_TYPE_MULTIKEY, getMultikey, getPublicJwkFromMultikey, isMultikey } from "./verificationMethod/Multikey.mjs";
import { IsStringOrVerificationMethod, VerificationMethodTransformer } from "./verificationMethod/VerificationMethodTransformer.mjs";
import { VERIFICATION_METHOD_TYPE_X25519_KEY_AGREEMENT_KEY_2019, getPublicJwkFrommX25519KeyAgreementKey2019, getX25519KeyAgreementKey2019, isX25519KeyAgreementKey2019 } from "./verificationMethod/X25519KeyAgreementKey2019.mjs";
import "./verificationMethod/index.mjs";
import { DidDocument, DidPurpose, findVerificationMethodByKeyType } from "./DidDocument.mjs";
import { DidDocumentBuilder } from "./DidDocumentBuilder.mjs";
import { DidDocumentRole } from "./DidDocumentRole.mjs";
import { DidRegistrar } from "./DidRegistrar.mjs";
import { DidResolver } from "./DidResolver.mjs";
import { getKmsKeyIdForVerifiacationMethod } from "./didDocumentKey.mjs";
import { getPublicJwkFromVerificationMethod } from "./key-type/keyDidMapping.mjs";
import { convertPublicKeyToX25519, keyDidEd25519 } from "./key-type/ed25519.mjs";
import { keyDidX25519 } from "./key-type/x25519.mjs";
import "./key-type/index.mjs";
import { parseDid } from "./parse.mjs";