const require_rolldown_runtime = require('../../../../../_virtual/rolldown_runtime.js');
const require_index = require('../../../../../node_modules/.pnpm/class-validator@0.14.1/node_modules/class-validator/cjs/index.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_messageType = require('../../util/messageType.js');
const require_DidCommMessage = require('../../DidCommMessage.js');

//#region ../didcomm/src/messages/common/DidCommAckMessage.ts
var import_cjs = /* @__PURE__ */ require_rolldown_runtime.__toESM(require_index.require_cjs());
var _ref;
/**
* Ack message status types
*/
let AckStatus = /* @__PURE__ */ function(AckStatus$1) {
	AckStatus$1["OK"] = "OK";
	AckStatus$1["PENDING"] = "PENDING";
	return AckStatus$1;
}({});
/**
* @see https://github.com/hyperledger/aries-rfcs/blob/master/features/0015-acks/README.md#explicit-acks
*/
var DidCommAckMessage = class DidCommAckMessage extends require_DidCommMessage.DidCommMessage {
	/**
	* Create new AckMessage instance.
	* @param options
	*/
	constructor(options) {
		super();
		this.type = DidCommAckMessage.type.messageTypeUri;
		if (options) {
			this.id = options.id || this.generateId();
			this.status = options.status;
			this.setThread({ threadId: options.threadId });
		}
	}
};
DidCommAckMessage.type = require_messageType.parseMessageType("https://didcomm.org/notification/1.0/ack");
require_decorate.__decorate([require_messageType.IsValidMessageType(DidCommAckMessage.type), require_decorateMetadata.__decorateMetadata("design:type", String)], DidCommAckMessage.prototype, "type", void 0);
require_decorate.__decorate([(0, import_cjs.IsEnum)(AckStatus), require_decorateMetadata.__decorateMetadata("design:type", typeof (_ref = typeof AckStatus !== "undefined" && AckStatus) === "function" ? _ref : Object)], DidCommAckMessage.prototype, "status", void 0);

//#endregion
exports.AckStatus = AckStatus;
exports.DidCommAckMessage = DidCommAckMessage;