

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');
let class_validator = require("class-validator");

//#region src/modules/vc/data-integrity/models/DataIntegrityProof.ts
/**
* Linked Data Proof
* @see https://w3c.github.io/vc-data-model/#proofs-signatures
*
* @class LinkedDataProof
*/
var DataIntegrityProof = class {
	constructor(options) {
		if (options) {
			this.type = options.type;
			this.cryptosuite = options.cryptosuite;
			this.verificationMethod = options.verificationMethod;
			this.proofPurpose = options.proofPurpose;
			this.domain = options.domain;
			this.challenge = options.challenge;
			this.nonce = options.nonce;
			this.created = options.created;
			this.expires = options.expires;
			this.proofValue = options.proofValue;
			this.previousProof = options.previousProof;
		}
	}
};
require_decorate.__decorate([
	(0, class_validator.IsString)(),
	(0, class_validator.IsEnum)(["DataIntegrityProof"]),
	require_decorateMetadata.__decorateMetadata("design:type", String)
], DataIntegrityProof.prototype, "type", void 0);
require_decorate.__decorate([(0, class_validator.IsString)(), require_decorateMetadata.__decorateMetadata("design:type", String)], DataIntegrityProof.prototype, "cryptosuite", void 0);
require_decorate.__decorate([(0, class_validator.IsString)(), require_decorateMetadata.__decorateMetadata("design:type", String)], DataIntegrityProof.prototype, "proofPurpose", void 0);
require_decorate.__decorate([(0, class_validator.IsString)(), require_decorateMetadata.__decorateMetadata("design:type", String)], DataIntegrityProof.prototype, "verificationMethod", void 0);
require_decorate.__decorate([
	require_validators.IsUri(),
	(0, class_validator.IsOptional)(),
	require_decorateMetadata.__decorateMetadata("design:type", String)
], DataIntegrityProof.prototype, "domain", void 0);
require_decorate.__decorate([
	(0, class_validator.IsString)(),
	(0, class_validator.IsOptional)(),
	require_decorateMetadata.__decorateMetadata("design:type", String)
], DataIntegrityProof.prototype, "challenge", void 0);
require_decorate.__decorate([
	(0, class_validator.IsString)(),
	(0, class_validator.IsOptional)(),
	require_decorateMetadata.__decorateMetadata("design:type", String)
], DataIntegrityProof.prototype, "nonce", void 0);
require_decorate.__decorate([
	(0, class_validator.IsString)(),
	(0, class_validator.IsOptional)(),
	require_decorateMetadata.__decorateMetadata("design:type", String)
], DataIntegrityProof.prototype, "created", void 0);
require_decorate.__decorate([
	(0, class_validator.IsString)(),
	(0, class_validator.IsOptional)(),
	require_decorateMetadata.__decorateMetadata("design:type", String)
], DataIntegrityProof.prototype, "expires", void 0);
require_decorate.__decorate([
	(0, class_validator.IsString)(),
	(0, class_validator.IsOptional)(),
	require_decorateMetadata.__decorateMetadata("design:type", String)
], DataIntegrityProof.prototype, "proofValue", void 0);
require_decorate.__decorate([
	(0, class_validator.IsString)(),
	(0, class_validator.IsOptional)(),
	require_decorateMetadata.__decorateMetadata("design:type", String)
], DataIntegrityProof.prototype, "previousProof", void 0);

//#endregion
exports.DataIntegrityProof = DataIntegrityProof;