interface ObjectLike { [key: string]: any; length?: never; } declare type UnionToIntersection = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never; /** * object and array deep merge */ declare function mergeDeep(...objects: T): UnionToIntersection; export default mergeDeep;