

import { __decorateMetadata } from "../../../../_virtual/_@oxc-project_runtime@0.97.0/helpers/decorateMetadata.mjs";
import { __decorate } from "../../../../_virtual/_@oxc-project_runtime@0.97.0/helpers/decorate.mjs";
import { IsUri } from "../../../../utils/validators.mjs";
import "../../../../utils/index.mjs";
import { getProtocolScheme } from "../../../../utils/uri.mjs";
import { DidDocumentService } from "./DidDocumentService.mjs";
import { ArrayNotEmpty, IsOptional, IsString } from "class-validator";

//#region src/modules/dids/domain/service/IndyAgentService.ts
var IndyAgentService = class IndyAgentService extends 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 getProtocolScheme(this.serviceEndpoint);
	}
};
IndyAgentService.type = "IndyAgent";
__decorate([
	IsString(),
	IsUri(),
	__decorateMetadata("design:type", String)
], IndyAgentService.prototype, "serviceEndpoint", void 0);
__decorate([
	ArrayNotEmpty(),
	IsString({ each: true }),
	__decorateMetadata("design:type", Array)
], IndyAgentService.prototype, "recipientKeys", void 0);
__decorate([
	IsString({ each: true }),
	IsOptional(),
	__decorateMetadata("design:type", Array)
], IndyAgentService.prototype, "routingKeys", void 0);

//#endregion
export { IndyAgentService };
//# sourceMappingURL=IndyAgentService.mjs.map