/** * Base class for ValueObject's * * A value object is an object whose identitiy is * determined by it's properties values. * * Value objects MUST: * - Be immutable * - Be compared by value-equality * @export * @class ValueObject */ export declare class ValueObject { private construct; /** * @param construct Your value object's constructor * @param constructParams Name of the properties to pass to constructor IN ORDER */ constructor(construct: new (...args: any[]) => TObject, constructParams: (keyof TObject)[]); equals(other: ValueObject): boolean; protected newInstanceWith(updatedProps: Partial): TObject; }