tests/cases/compiler/constructorOverloads7.ts(1,15): error TS2300: Duplicate identifier 'Point'. tests/cases/compiler/constructorOverloads7.ts(15,10): error TS2300: Duplicate identifier 'Point'. tests/cases/compiler/constructorOverloads7.ts(22,18): error TS2384: Overload signatures must all be ambient or non-ambient. ==== tests/cases/compiler/constructorOverloads7.ts (3 errors) ==== declare class Point ~~~~~ !!! error TS2300: Duplicate identifier 'Point'. { x: number; y: number; constructor(x: number, y: number); add(dx: number, dy: number): Point; origin: Point; } // Type provided by extern declaration // Because Point is a constructor function, this is inferred // to be Point and return type is inferred to be void function Point(x, y) { ~~~~~ !!! error TS2300: Duplicate identifier 'Point'. this.x = x; this.y = y; return this; } declare function EF1(a:number, b:number):number; ~~~ !!! error TS2384: Overload signatures must all be ambient or non-ambient. function EF1(a,b) { return a+b; }