=== tests/cases/compiler/typeAnnotationBestCommonTypeInArrayLiteral.ts === interface IMenuItem { >IMenuItem : IMenuItem id: string; >id : string type: string; >type : string link?: string; >link : string classes?: string; >classes : string text?: string; >text : string icon?: string; >icon : string } var menuData: IMenuItem[] = [ >menuData : IMenuItem[] >IMenuItem : IMenuItem >[ { "id": "ourLogo", "type": "image", "link": "", "icon": "modules/menu/logo.svg" }, { "id": "productName", "type": "default", "link": "", "text": "Product Name" }] : ({ "id": string; "type": string; "link": string; "icon": string; } | { "id": string; "type": string; "link": string; "text": string; })[] { >{ "id": "ourLogo", "type": "image", "link": "", "icon": "modules/menu/logo.svg" } : { "id": string; "type": string; "link": string; "icon": string; } "id": "ourLogo", >"ourLogo" : string "type": "image", >"image" : string "link": "", >"" : string "icon": "modules/menu/logo.svg" >"modules/menu/logo.svg" : string }, { >{ "id": "productName", "type": "default", "link": "", "text": "Product Name" } : { "id": string; "type": string; "link": string; "text": string; } "id": "productName", >"productName" : string "type": "default", >"default" : string "link": "", >"" : string "text": "Product Name" >"Product Name" : string } ];