

const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.js');
const require_decorateMetadata = require('../../../../_virtual/_@oxc-project_runtime@0.94.0/helpers/decorateMetadata.js');
const require_decorate = require('../../../../_virtual/_@oxc-project_runtime@0.94.0/helpers/decorate.js');
const require_validators = require('../../../../utils/validators.js');
require('../../../../utils/index.js');
const require_uri = require('../../../../utils/uri.js');
const require_DidDocumentService = require('./DidDocumentService.js');
let class_validator = require("class-validator");
class_validator = require_rolldown_runtime.__toESM(class_validator);

//#region src/modules/dids/domain/service/DidCommV1Service.ts
var DidCommV1Service = class DidCommV1Service extends require_DidDocumentService.DidDocumentService {
	constructor(options) {
		super({
			...options,
			type: DidCommV1Service.type
		});
		this.priority = 0;
		if (options) {
			this.recipientKeys = options.recipientKeys;
			this.routingKeys = options.routingKeys;
			this.accept = options.accept;
			if (options.priority) this.priority = options.priority;
		}
	}
	get protocolScheme() {
		return require_uri.getProtocolScheme(this.serviceEndpoint);
	}
};
DidCommV1Service.type = "did-communication";
require_decorate.__decorate([
	(0, class_validator.IsString)(),
	require_validators.IsUri(),
	require_decorateMetadata.__decorateMetadata("design:type", String)
], DidCommV1Service.prototype, "serviceEndpoint", void 0);
require_decorate.__decorate([
	(0, class_validator.ArrayNotEmpty)(),
	(0, class_validator.IsString)({ each: true }),
	require_decorateMetadata.__decorateMetadata("design:type", Array)
], DidCommV1Service.prototype, "recipientKeys", void 0);
require_decorate.__decorate([
	(0, class_validator.IsString)({ each: true }),
	(0, class_validator.IsOptional)(),
	require_decorateMetadata.__decorateMetadata("design:type", Array)
], DidCommV1Service.prototype, "routingKeys", void 0);
require_decorate.__decorate([
	(0, class_validator.IsString)({ each: true }),
	(0, class_validator.IsOptional)(),
	require_decorateMetadata.__decorateMetadata("design:type", Array)
], DidCommV1Service.prototype, "accept", void 0);

//#endregion
exports.DidCommV1Service = DidCommV1Service;