// Type definitions for map-obj 2.0 // Project: https://github.com/sindresorhus/map-obj#readme // Definitions by: BendingBender // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 export = mapObj; declare function mapObj( source: O, mapper: mapObj.Mapper, options: mapObj.DeepOptions): object; declare function mapObj( source: O, mapper: mapObj.Mapper, options: mapObj.TargetOptions): O2 & {[K in T]: U}; declare function mapObj( source: O, mapper: mapObj.Mapper, options?: mapObj.Options): {[K in T]: U}; declare namespace mapObj { type Mapper = (sourceKey: keyof O, sourceValue: O[keyof O], source: O) => [T, U]; interface DeepOptions extends Options { deep: true; } interface TargetOptions extends Options { target: T; } interface Options { deep?: boolean; target?: object; } }