tests/cases/compiler/indexer2.ts(6,25): error TS2352: Neither type '{ [x: number]: undefined; }' nor type 'IDirectChildrenMap' is assignable to the other. Types of property 'hasOwnProperty' are incompatible. Type '(v: string) => boolean' is not assignable to type '(objectId: number) => boolean'. Types of parameters 'v' and 'objectId' are incompatible. Type 'string' is not assignable to type 'number'. ==== tests/cases/compiler/indexer2.ts (1 errors) ==== interface IHeapObjectProperty {} interface IDirectChildrenMap { hasOwnProperty(objectId: number) : boolean; [objectId: number] : IHeapObjectProperty[]; } var directChildrenMap = {}; ~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2352: Neither type '{ [x: number]: undefined; }' nor type 'IDirectChildrenMap' is assignable to the other. !!! error TS2352: Types of property 'hasOwnProperty' are incompatible. !!! error TS2352: Type '(v: string) => boolean' is not assignable to type '(objectId: number) => boolean'. !!! error TS2352: Types of parameters 'v' and 'objectId' are incompatible. !!! error TS2352: Type 'string' is not assignable to type 'number'.