I think it should be {Object.<languageId:string, Array.<{name:string, scanFile:function(string, string):Object}>>}. There was one extra ´>´after string, but everything else should be okay.