

const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.js');
const require_decorateMetadata = require('../../../../_virtual/_@oxc-project_runtime@0.97.0/helpers/decorateMetadata.js');
const require_decorate = require('../../../../_virtual/_@oxc-project_runtime@0.97.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");

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

//#endregion
exports.IndyAgentService = IndyAgentService;