//// [tests/cases/conformance/internalModules/exportDeclarations/ModuleWithExportedAndNonExportedClasses.ts] ////

=== ModuleWithExportedAndNonExportedClasses.ts ===
namespace A {
>A : Symbol(A, Decl(ModuleWithExportedAndNonExportedClasses.ts, 0, 0))

    export class A {
>A : Symbol(A, Decl(ModuleWithExportedAndNonExportedClasses.ts, 0, 13))

        id: number;
>id : Symbol(A.id, Decl(ModuleWithExportedAndNonExportedClasses.ts, 1, 20))

        name: string;
>name : Symbol(A.name, Decl(ModuleWithExportedAndNonExportedClasses.ts, 2, 19))
    }

    export class AG<T, U>{
>AG : Symbol(AG, Decl(ModuleWithExportedAndNonExportedClasses.ts, 4, 5))
>T : Symbol(T, Decl(ModuleWithExportedAndNonExportedClasses.ts, 6, 20))
>U : Symbol(U, Decl(ModuleWithExportedAndNonExportedClasses.ts, 6, 22))

        id: T;
>id : Symbol(AG.id, Decl(ModuleWithExportedAndNonExportedClasses.ts, 6, 26))
>T : Symbol(T, Decl(ModuleWithExportedAndNonExportedClasses.ts, 6, 20))

        name: U;
>name : Symbol(AG.name, Decl(ModuleWithExportedAndNonExportedClasses.ts, 7, 14))
>U : Symbol(U, Decl(ModuleWithExportedAndNonExportedClasses.ts, 6, 22))
    }

    class A2 {
>A2 : Symbol(A2, Decl(ModuleWithExportedAndNonExportedClasses.ts, 9, 5))

        id: number;
>id : Symbol(A2.id, Decl(ModuleWithExportedAndNonExportedClasses.ts, 11, 14))

        name: string;
>name : Symbol(A2.name, Decl(ModuleWithExportedAndNonExportedClasses.ts, 12, 19))
    }

    class AG2<T, U>{
>AG2 : Symbol(AG2, Decl(ModuleWithExportedAndNonExportedClasses.ts, 14, 5))
>T : Symbol(T, Decl(ModuleWithExportedAndNonExportedClasses.ts, 16, 14))
>U : Symbol(U, Decl(ModuleWithExportedAndNonExportedClasses.ts, 16, 16))

        id: T;
>id : Symbol(AG2.id, Decl(ModuleWithExportedAndNonExportedClasses.ts, 16, 20))
>T : Symbol(T, Decl(ModuleWithExportedAndNonExportedClasses.ts, 16, 14))

        name: U;
>name : Symbol(AG2.name, Decl(ModuleWithExportedAndNonExportedClasses.ts, 17, 14))
>U : Symbol(U, Decl(ModuleWithExportedAndNonExportedClasses.ts, 16, 16))
    }
}

// no errors expected, these are all exported
var a: { id: number; name: string };
>a : Symbol(a, Decl(ModuleWithExportedAndNonExportedClasses.ts, 23, 3), Decl(ModuleWithExportedAndNonExportedClasses.ts, 24, 3))
>id : Symbol(id, Decl(ModuleWithExportedAndNonExportedClasses.ts, 23, 8))
>name : Symbol(name, Decl(ModuleWithExportedAndNonExportedClasses.ts, 23, 20))

var a = new A.A();
>a : Symbol(a, Decl(ModuleWithExportedAndNonExportedClasses.ts, 23, 3), Decl(ModuleWithExportedAndNonExportedClasses.ts, 24, 3))
>A.A : Symbol(A.A, Decl(ModuleWithExportedAndNonExportedClasses.ts, 0, 13))
>A : Symbol(A, Decl(ModuleWithExportedAndNonExportedClasses.ts, 0, 0))
>A : Symbol(A.A, Decl(ModuleWithExportedAndNonExportedClasses.ts, 0, 13))

var AG = new A.AG<number, string>()
>AG : Symbol(AG, Decl(ModuleWithExportedAndNonExportedClasses.ts, 26, 3))
>A.AG : Symbol(A.AG, Decl(ModuleWithExportedAndNonExportedClasses.ts, 4, 5))
>A : Symbol(A, Decl(ModuleWithExportedAndNonExportedClasses.ts, 0, 0))
>AG : Symbol(A.AG, Decl(ModuleWithExportedAndNonExportedClasses.ts, 4, 5))

// errors expected, these are not exported
var a2 = new A.A2();
>a2 : Symbol(a2, Decl(ModuleWithExportedAndNonExportedClasses.ts, 29, 3))
>A : Symbol(A, Decl(ModuleWithExportedAndNonExportedClasses.ts, 0, 0))

var ag2 = new A.A2<string, number>();
>ag2 : Symbol(ag2, Decl(ModuleWithExportedAndNonExportedClasses.ts, 30, 3))
>A : Symbol(A, Decl(ModuleWithExportedAndNonExportedClasses.ts, 0, 0))


