//// [arrayTypeInSignatureOfInterfaceAndClass.ts] declare module WinJS { class Promise { then(success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; } } declare module Data { export interface IListItem { itemIndex: number; key: any; data: T; group: any; isHeader: boolean; cached: boolean; isNonSourceData: boolean; preventAugmentation: boolean; } export interface IVirtualList { //removeIndices: WinJS.Promise[]>; removeIndices(indices: number[], options?: any): WinJS.Promise[]>; } export class VirtualList implements IVirtualList { //removeIndices: WinJS.Promise[]>; public removeIndices(indices: number[], options?: any): WinJS.Promise[]>; } } //// [arrayTypeInSignatureOfInterfaceAndClass.js]