/** * Checks if a value is a plain object. * * @param value - The value to check * @returns True if the value is a plain object */ export declare function isPlainObject(value: unknown): value is Record; /** * Deep merge utility for configuration objects. * Recursively merges nested objects while preserving function references. * * This implementation includes protections against: * - Circular references (using path-based WeakSet tracking) * - Prototype pollution (skipping dangerous keys) * - Non-plain object corruption (only merging plain objects) * - Stack overflow from deep nesting (depth limit) * - Array reference sharing (shallow copying arrays) * * Note on Arrays: * Arrays are shallow copied. Objects inside arrays are shared by reference. * If you need deep cloning of array elements, this utility does not support it. * * Note on null/undefined: * - `undefined` values in source are skipped (target value preserved). * - `null` values in source overwrite target values. * * Note on Special Objects: * - `Object.create(null)` objects are treated as plain objects and merged. * - Symbol properties are ignored (as Object.keys is used). * * @param target - Target object * @param source - Source object to merge from * @param seen - Set of objects in the current recursion path to detect cycles * @param depth - Current recursion depth * @returns Merged object */ export declare function deepMerge>(target: T, source: Partial, seen?: WeakSet, depth?: number): T; //# sourceMappingURL=deep-merge.d.ts.map