

const require_Ed25519PublicJwk = require('../kms/jwk/kty/okp/Ed25519PublicJwk.js');
require('../kms/index.js');
const require_Ed25519VerificationKey2018 = require('../dids/domain/verificationMethod/Ed25519VerificationKey2018.js');
const require_Ed25519VerificationKey2020 = require('../dids/domain/verificationMethod/Ed25519VerificationKey2020.js');
require('../dids/index.js');
const require_W3cJwtCredentialService = require('./jwt-vc/W3cJwtCredentialService.js');
require('./jwt-vc/index.js');
const require_SignatureSuiteRegistry = require('./data-integrity/SignatureSuiteRegistry.js');
const require_Ed25519Signature2018 = require('./data-integrity/signature-suites/ed25519/Ed25519Signature2018.js');
const require_Ed25519Signature2020 = require('./data-integrity/signature-suites/ed25519/Ed25519Signature2020.js');
require('./data-integrity/signature-suites/index.js');
const require_W3cCredentialsModuleConfig = require('./W3cCredentialsModuleConfig.js');
const require_W3cJsonLdCredentialService = require('./data-integrity/W3cJsonLdCredentialService.js');
const require_W3cCredentialRepository = require('./repository/W3cCredentialRepository.js');
const require_W3cCredentialService = require('./W3cCredentialService.js');
const require_W3cCredentialsApi = require('./W3cCredentialsApi.js');

//#region src/modules/vc/W3cCredentialsModule.ts
/**
* @public
*/
var W3cCredentialsModule = class {
	constructor(config) {
		this.api = require_W3cCredentialsApi.W3cCredentialsApi;
		this.config = new require_W3cCredentialsModuleConfig.W3cCredentialsModuleConfig(config);
	}
	register(dependencyManager) {
		dependencyManager.registerSingleton(require_W3cCredentialService.W3cCredentialService);
		dependencyManager.registerSingleton(require_W3cJwtCredentialService.W3cJwtCredentialService);
		dependencyManager.registerSingleton(require_W3cJsonLdCredentialService.W3cJsonLdCredentialService);
		dependencyManager.registerSingleton(require_W3cCredentialRepository.W3cCredentialRepository);
		dependencyManager.registerSingleton(require_SignatureSuiteRegistry.SignatureSuiteRegistry);
		dependencyManager.registerInstance(require_W3cCredentialsModuleConfig.W3cCredentialsModuleConfig, this.config);
		dependencyManager.registerInstance(require_SignatureSuiteRegistry.SignatureSuiteToken, {
			suiteClass: require_Ed25519Signature2018.Ed25519Signature2018,
			proofType: "Ed25519Signature2018",
			verificationMethodTypes: [require_Ed25519VerificationKey2018.VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2018, require_Ed25519VerificationKey2020.VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2020],
			supportedPublicJwkTypes: [require_Ed25519PublicJwk.Ed25519PublicJwk]
		});
		dependencyManager.registerInstance(require_SignatureSuiteRegistry.SignatureSuiteToken, {
			suiteClass: require_Ed25519Signature2020.Ed25519Signature2020,
			proofType: "Ed25519Signature2020",
			verificationMethodTypes: [require_Ed25519VerificationKey2020.VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2020],
			supportedPublicJwkTypes: [require_Ed25519PublicJwk.Ed25519PublicJwk]
		});
	}
};

//#endregion
exports.W3cCredentialsModule = W3cCredentialsModule;