Namespaces are a legacy feature of TypeScript that can lead to confusion and are not compatible with ECMAScript modules.
Modern codebases generally use export and import statements to define and use ECMAScript modules instead.
If your project uses TypeScript’s CommonJS export syntax (export = ...), you may need to use namespaces in order to export types from your module.
You can learn more about this at:
TypeScript#60852, an issue requesting syntax to export types from a CommonJS module.
If your project uses this syntax, either because it was architected before modern modules and namespaces, or because a module option such as verbatimModuleSyntax requires it, it may be difficult to migrate off of namespaces.
In that case you may not be able to use this rule for parts of your project.