/** * Base class for all Value Objects in the domain * Value Objects are immutable and compared by value, not identity */ export declare abstract class ValueObject { /** * Abstract method to get all properties for equality comparison * Subclasses must implement this to return all properties that define equality */ protected abstract getEqualityProperties(): any[]; /** * Check equality with another Value Object * Two Value Objects are equal if they have the same values for all properties */ equals(other: ValueObject): boolean; /** * Get string representation for debugging */ toString(): string; } //# sourceMappingURL=ValueObject.d.ts.map