/** * .what = wrappers which add immutability mechs on dobj instances */ export type WithImmute = T & { clone(updates?: Partial): WithImmute; }; /** * .what = adds immute operations (.clone) to domain objects * .why = enables immutable updates for safer, more maintainable code * * variants: * - withImmute(value) = recursive (default, pit of success) * - withImmute.recursive(value) = explicit recursive * - withImmute.singular(obj) = single object only (shallow) */ export declare const withImmute: ((value: T) => WithImmute) & { recursive: (value: T) => WithImmute; singular: >(obj: T_1) => WithImmute; }; /** * .what = alias for withImmute * .why = intuitive name for what it does (adds .clone()) */ export declare const withClone: ((value: T) => WithImmute) & { recursive: (value: T) => WithImmute; singular: >(obj: T_1) => WithImmute; };