//// [classWithPublicProperty.ts]
class C {
    public x;
    public a = '';
    public b: string = '';
    public c() { return '' }
    public d = () => '';
    public static e;
    public static f() { return '' }
    public static g = () => '';
}

// all of these are valid
var c = new C();
var r1: string = c.x;
var r2: string = c.a;
var r3: string = c.b;
var r4: string = c.c();
var r5: string = c.d();
var r6: string = C.e;
var r7: string = C.f();
var r8: string = C.g();

//// [classWithPublicProperty.js]
var C = (function () {
    function C() {
        this.a = '';
        this.b = '';
        this.d = function () { return ''; };
    }
    C.prototype.c = function () { return ''; };
    C.f = function () { return ''; };
    C.g = function () { return ''; };
    return C;
})();
// all of these are valid
var c = new C();
var r1 = c.x;
var r2 = c.a;
var r3 = c.b;
var r4 = c.c();
var r5 = c.d();
var r6 = C.e;
var r7 = C.f();
var r8 = C.g();
