1interface NumberMap<T> { 2 [index: number]: T; 3} 4 5interface StringMap<T> { 6 [index: string]: T; 7} 8 9declare function numberMapToArray<T>(object: NumberMap<T>): T[]; 10declare function stringMapToArray<T>(object: StringMap<T>): T[]; 11 12var numberMap: NumberMap<Function>; 13var stringMap: StringMap<Function>; 14 15var v1: Function[]; 16var v1 = numberMapToArray(numberMap); // Ok 17var v1 = numberMapToArray(stringMap); // Ok 18var v1 = stringMapToArray(numberMap); // Error expected here 19var v1 = stringMapToArray(stringMap); // Ok 20