Introduction

Module vs Namespace

A module in TypeScript is a standard ES6 notion, it uses import / export keywords at the top level of the code. A namespace is a notion specific to TypeScript to help to organize the code in an obsolete fashion.

Namespaces are used to organize/encapsulate your code. External modules are used to organize/encapsulate your code AND to locate your code at runtime.

Details: https://stackoverflow.com/questions/38582352/module-vs-namespace-import-vs-require-typescript