Version: 0.2.110.2.120.2.130.2.140.2.150.2.160.3.00.3.20.3.30.3.40.3.50.4.00.5.00.5.10.5.20.5.30.5.40.5.50.5.60.5.70.5.86.0.07.0.07.0.17.0.27.0.37.0.47.0.57.0.67.0.77.0.87.0.97.0.107.0.117.0.127.0.137.0.147.0.157.0.167.0.177.0.187.1.07.1.17.1.28.0.0-alpha.18.0.0-alpha.28.0.0-alpha.38.0.0-alpha.48.0.0-alpha.58.0.0-alpha.68.0.0-alpha.88.0.0-alpha.98.0.0-beta.18.0.0-beta.28.0.0-beta.38.0.0-beta.48.0.0-beta.58.0.0-beta.68.0.0-beta.78.0.0-beta.88.0.0-beta.98.0.0-rc.18.0.0-rc.28.0.0-rc.38.0.0-rc.48.0.0-rc.58.0.0-rc.68.0.0-rc.78.0.0-rc.88.0.08.1.08.2.18.2.28.2.38.2.48.2.58.2.68.3.08.3.18.4.08.4.18.4.28.4.38.4.48.4.58.4.68.4.78.4.88.5.08.5.18.5.28.6.08.6.18.6.28.6.38.6.48.7.08.8.08.8.18.8.28.8.38.8.48.9.08.9.18.9.28.9.38.10.18.10.28.11.08.11.18.11.28.11.38.11.48.11.58.12.08.12.18.13.08.13.18.13.28.13.38.13.48.13.58.13.68.13.78.13.88.13.98.13.108.14.0-rc18.14.09.0.09.0.19.1.09.1.19.1.29.1.39.1.49.1.59.1.69.1.79.2.0-rc19.2.0-rc109.2.0-rc29.2.0-rc39.2.0-rc49.2.0-rc59.2.0-rc69.2.0-rc79.2.0-rc89.2.0-rc99.2.09.2.19.2.2-rc.29.2.29.2.3-rc.19.3.0-rc.19.3.0-rc.29.3.0-rc.39.3.0-rc.49.3.0-rc.59.3.0-rc.69.3.0-rc.79.3.09.4.0-rc.19.4.0-rc.29.4.09.4.2-rc.19.4.2-rc.29.4.29.4.310.0.0-rc.110.0.0-rc.210.0.0-rc.310.0.0-rc.410.0.010.0.1-rc.110.0.1-rc.210.0.1-rc.310.0.1-rc.410.0.1-rc.510.0.110.0.2-rc.110.0.210.0.3-alpha.110.1.0-rc.110.1.010.2.0-rc.110.2.0-rc.210.2.0-rc.310.2.0-rc.410.2.010.2.1-rc.110.2.110.2.210.2.3-rc.110.2.310.2.4-rc.110.2.410.3.0-rc.110.3.010.3.110.4.010.5.0-alpha.110.5.0-rc.110.5.0-rc.310.5.010.5.110.6.010.6.110.6.2-rc.110.6.2-rc.210.6.2-rc.310.7.010.8.010.9.0-rc.110.9.0-rc.210.9.010.9.110.9.210.9.311.0.0-alpha.111.0.0-alpha.211.0.0-alpha.311.0.0-alpha.411.0.0-alpha.511.0.0-alpha.611.0.0-alpha.711.0.011.0.111.0.211.1.011.1.111.2.011.2.111.3.011.4.011.4.1
/**
* assignWithDepth Extends the functionality of {@link Object.assign} with the
* ability to merge arbitrary-depth objects For each key in src with path `k` (recursively)
* performs an Object.assign(dst[`k`], src[`k`]) with a slight change from the typical handling of
* undefined for dst[`k`]: instead of raising an error, dst[`k`] is auto-initialized to `{}` and
* effectively merged with src[`k`]<p> Additionally, dissimilar types will not clobber unless the
* config.clobber parameter === true. Example:
*
* ```
* const config_0 = { foo: { bar: 'bar' }, bar: 'foo' };
* const config_1 = { foo: 'foo', bar: 'bar' };
* const result = assignWithDepth(config_0, config_1);
* console.log(result);
* //-> result: { foo: { bar: 'bar' }, bar: 'bar' }
* Traditional Object.assign would have clobbered foo in config_0 with foo in config_1. If src is a
* destructured array of objects and dst is not an array, assignWithDepth will apply each element
* of src to dst in order.
* @param dst - The destination of the merge
* @param src - The source object(s) to merge into destination
* @param config -
* * depth: depth to traverse within src and dst for merging
* * clobber: should dissimilar types clobber
*/
declare const assignWithDepth: (dst: any, src: any, { depth, clobber }?: {
depth?: number | undefined;
clobber?: boolean | undefined;
}) => any;
export default assignWithDepth;