// Type definitions for deepmerge 1.3 // Project: https://github.com/KyleAMathews/deepmerge // Definitions by: marvinscharle // syy1125 // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.1 export = deepmerge; declare function deepmerge(x: Partial, y: Partial, options?: deepmerge.Options): T; declare function deepmerge(x: T1, y: T2, options?: deepmerge.Options): T1 & T2; declare namespace deepmerge { interface Options { clone?: boolean; arrayMerge?(destination: any[], source: any[], options?: Options): any[]; } function all(objects: Array>, options?: Options): T; } declare global { interface Window { deepmerge(x: Partial, y: Partial, options?: deepmerge.Options): T; deepmerge(x: T1, y: T2, options?: deepmerge.Options): T1 & T2; } }