TwoInternalModulesThatMergeEachWithExportedClassesOfTheSameName.ts(2,18): error TS2300: Duplicate identifier 'Point'.
TwoInternalModulesThatMergeEachWithExportedClassesOfTheSameName.ts(3,9): error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
TwoInternalModulesThatMergeEachWithExportedClassesOfTheSameName.ts(4,9): error TS2564: Property 'y' has no initializer and is not definitely assigned in the constructor.
TwoInternalModulesThatMergeEachWithExportedClassesOfTheSameName.ts(10,18): error TS2300: Duplicate identifier 'Point'.
TwoInternalModulesThatMergeEachWithExportedClassesOfTheSameName.ts(11,9): error TS2564: Property 'origin' has no initializer and is not definitely assigned in the constructor.
TwoInternalModulesThatMergeEachWithExportedClassesOfTheSameName.ts(12,9): error TS2564: Property 'angle' has no initializer and is not definitely assigned in the constructor.
TwoInternalModulesThatMergeEachWithExportedClassesOfTheSameName.ts(17,18): error TS2300: Duplicate identifier 'Line'.
TwoInternalModulesThatMergeEachWithExportedClassesOfTheSameName.ts(18,9): error TS2564: Property 'length' has no initializer and is not definitely assigned in the constructor.
TwoInternalModulesThatMergeEachWithExportedClassesOfTheSameName.ts(26,26): error TS2300: Duplicate identifier 'Line'.
TwoInternalModulesThatMergeEachWithExportedClassesOfTheSameName.ts(27,17): error TS2564: Property 'name' has no initializer and is not definitely assigned in the constructor.


==== TwoInternalModulesThatMergeEachWithExportedClassesOfTheSameName.ts (10 errors) ====
    namespace A {
        export class Point {
                     ~~~~~
!!! error TS2300: Duplicate identifier 'Point'.
            x: number;
            ~
!!! error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
            y: number;
            ~
!!! error TS2564: Property 'y' has no initializer and is not definitely assigned in the constructor.
        }
    }
    
    namespace A{
        // expected error
        export class Point {
                     ~~~~~
!!! error TS2300: Duplicate identifier 'Point'.
            origin: number;
            ~~~~~~
!!! error TS2564: Property 'origin' has no initializer and is not definitely assigned in the constructor.
            angle: number;
            ~~~~~
!!! error TS2564: Property 'angle' has no initializer and is not definitely assigned in the constructor.
        }
    }
    
    namespace X.Y.Z {
        export class Line {
                     ~~~~
!!! error TS2300: Duplicate identifier 'Line'.
            length: number;
            ~~~~~~
!!! error TS2564: Property 'length' has no initializer and is not definitely assigned in the constructor.
        }
    }
    
    namespace X {
        export namespace Y {
            export namespace Z {
                // expected error
                export class Line {
                             ~~~~
!!! error TS2300: Duplicate identifier 'Line'.
                    name: string;
                    ~~~~
!!! error TS2564: Property 'name' has no initializer and is not definitely assigned in the constructor.
                }
            }
        }
    }
    