error TS5107: Option 'module=AMD' is deprecated and will stop functioning in TypeScript 7.0. Specify compilerOption '"ignoreDeprecations": "6.0"' to silence this error.
collisionExportsRequireAndModule_externalmodule.ts(1,18): error TS2441: Duplicate identifier 'require'. Compiler reserves name 'require' in top level scope of a module.
collisionExportsRequireAndModule_externalmodule.ts(8,5): error TS2322: Type 'null' is not assignable to type 'I'.
collisionExportsRequireAndModule_externalmodule.ts(10,18): error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module.
collisionExportsRequireAndModule_externalmodule.ts(17,5): error TS2322: Type 'null' is not assignable to type 'I'.


!!! error TS5107: Option 'module=AMD' is deprecated and will stop functioning in TypeScript 7.0. Specify compilerOption '"ignoreDeprecations": "6.0"' to silence this error.
==== collisionExportsRequireAndModule_externalmodule.ts (4 errors) ====
    export namespace require {
                     ~~~~~~~
!!! error TS2441: Duplicate identifier 'require'. Compiler reserves name 'require' in top level scope of a module.
        export interface I {
        }
        export class C {
        }
    }
    export function foo(): require.I {
        return null;
        ~~~~~~
!!! error TS2322: Type 'null' is not assignable to type 'I'.
    }
    export namespace exports {
                     ~~~~~~~
!!! error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module.
        export interface I {
        }
        export class C {
        }
    }
    export function foo2(): exports.I {
        return null;
        ~~~~~~
!!! error TS2322: Type 'null' is not assignable to type 'I'.
    }
    namespace m1 {
        namespace require {
            export interface I {
            }
            export class C {
            }
        }
        namespace exports {
            export interface I {
            }
            export class C {
            }
        }
    }
    namespace m2 {
        export namespace require {
            export interface I {
            }
            export class C {
            }
        }
        export namespace exports {
            export interface I {
            }
            export class C {
            }
        }
    }
    
==== collisionExportsRequireAndModule_globalFile.ts (0 errors) ====
    namespace require {
        export interface I {
        }
        export class C {
        }
    }
    namespace exports {
        export interface I {
        }
        export class C {
        }
    }
    namespace m3 {
        namespace require {
            export interface I {
            }
            export class C {
            }
        }
        namespace exports {
            export interface I {
            }
            export class C {
            }
        }
    }
    namespace m4 {
        export namespace require {
            export interface I {
            }
            export class C {
            }
        }
        export namespace exports {
            export interface I {
            }
            export class C {
            }
        }
    }
    