==== tests/cases/compiler/constructorOverloads7.ts (2 errors) ====
    declare class 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) {
             ~~~~~
!!! constructorOverloads7.ts(15,10): error TS2000: Duplicate identifier 'Point'. Additional locations:
!!! 	constructorOverloads7.ts(1,1)
        this.x = x;
        this.y = y;
    
        return this;
    }
    
    declare function EF1(a:number, b:number):number;
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! constructorOverloads7.ts(22,1): error TS2152: Overload signatures must all be ambient or non-ambient.
    
    function EF1(a,b) { return a+b; }
    