import { ValidationError } from "../validation-error.js"; import { VOHooks, EntityValidation, Primitive } from "../types/index.js"; export declare abstract class ValueObject { readonly value: T; private validationConfig; private domainHooks?; private domainSchema?; private readonly issueCollector; protected static validation?: EntityValidation; protected static hooks?: VOHooks; constructor(value: T); /** * Add a validation issue during rules hook execution (non-throwing mode). */ addValidationIssue(path: string | string[], message: string): void; private beginValidationCycle; private finalizeValidation; private runRulesHook; private validateValue; private validateSchema; private extractPathKey; /** * Returns true if the value object has validation errors (when throwOnError is false). */ get hasValidationErrors(): boolean; /** * Returns the validation errors (when throwOnError is false). */ get validationErrors(): ValidationError | undefined; /** * Compare this ValueObject with another for equality based on their properties. */ equals(other: ValueObject): boolean; /** * Creates a new ValueObject with updated value. * ValueObjects are immutable, so this returns a new instance. */ protected clone(value: T): this; } //# sourceMappingURL=value-object.d.ts.map