/** * Performs a shallow merge of two objects. * Optionally allows overwriting undefined properties in the target object with values from the source. * * @param target - The target object to be merged. * @param source - The source object for the merge. * @param overwriteUndefinedProperties - Flag to overwrite 'undefined' properties in the target. * @returns A new object that is a shallow merge of the target and source objects. */ export declare function shallowMerge, TSource extends Record>(target: TTarget, source: TSource, overwriteUndefinedProperties?: boolean): TTarget & TSource;