

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 { plainToClassFromExist } from "class-transformer";
import { IsOptional } from "class-validator";

//#region src/modules/vc/models/credential/W3cV2CredentialSubject.ts
/**
* Represents a credential subject.
*
* @see https://www.w3.org/TR/vc-data-model-2.0/#credential-subject
*/
var W3cV2CredentialSubject = class {
	constructor(options) {
		if (options) {
			const { id, ...rest } = options;
			plainToClassFromExist(this, rest);
			this.id = id;
		}
	}
};
__decorate([
	IsOptional(),
	IsUri(),
	__decorateMetadata("design:type", String)
], W3cV2CredentialSubject.prototype, "id", void 0);

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