interface IObject { [key: string]: any; } declare type TUnionToIntersection = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never; declare const deepMerge: (...objects: T) => TUnionToIntersection; export default deepMerge;