=== 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", "type": "image", "link": "", "icon": "modules/menu/logo.svg" }, { >{ "id": "productName", "type": "default", "link": "", "text": "Product Name" } : { "id": string; "type": string; "link": string; "text": string; } "id": "productName", "type": "default", "link": "", "text": "Product Name" } ];