//// [callOverloads4.ts]

function Foo():Foo; // error
function Foo(s:string):Foo; // error
class Foo { // error
    bar1() { /*WScript.Echo("bar1");*/ }
    constructor(s: string);
    constructor(x: any) {
        // WScript.Echo("Constructor function has executed");
    }
}

var f1 = new Foo("hey");


f1.bar1();
Foo();
Foo("s");


//// [callOverloads4.js]
var Foo = (function () {
    function Foo(x) {
        // WScript.Echo("Constructor function has executed");
    }
    Foo.prototype.bar1 = function () { };
    return Foo;
})();
var f1 = new Foo("hey");
f1.bar1();
Foo();
Foo("s");
