//// [tests/cases/compiler/constructorOverloads6.ts] ////

//// [constructorOverloads6.ts]
declare class FooBase {
    constructor(s: string);
    constructor(n: number);
    constructor(x: any) {

    }
	bar1():void;
}

 declare class Foo extends FooBase {
    constructor(s: string);
    constructor(n: number);
    constructor(x: any, y?:any);

    bar1():void;
}

var f1 = new Foo("hey");
var f2 = new Foo(0);
var f3 = new Foo(f1);
var f4 = new Foo([f1,f2,f3]);

f1.bar1();


//// [constructorOverloads6.js]
"use strict";
var f1 = new Foo("hey");
var f2 = new Foo(0);
var f3 = new Foo(f1);
var f4 = new Foo([f1, f2, f3]);
f1.bar1();
