To learn more about how namespaces work, you can analyze the JavaScript that powers this TypeScript feature. This means that the value of MyAction exported by inner/index.ts is, this value overrides the value of MyAction exported from action.ts in the line, This will export both identity and MyAction without any renaming or namespacing. the in import x from "";, import x = require("");, etc.) There is a problem when transpiling from Typescript using tsc when using Objection on Typescript project.