export interface IConstructorOf { new (...args: any[]): T; } export interface IMapOf { [key: string]: T; } export type Nullable = { [K in keyof T]?: T[K] | null; }; export declare function getValue(obj: T, key: K): T[K]; export interface IDictionary { [index: string]: T; } export interface INumericDictionary { [index: number]: T; }