declare type MapToType = { boolean: boolean; number: number; object: Record; string: string; undefined: undefined; }; type ReducedMapToType = Pick; declare type MapToValueConverter = { [TypeName in keyof ReducedMapToType]: ( value: unknown, ) => ReducedMapToType[TypeName]; };