Below is my tsconfig.json file where I have set target to "es5" and module to "es6"
The module system is independent of the language implementation. ES6 (ES2015) modules use the import/export syntax, and it is up to the module loader to interpret that.
Here you have specified using the ES2015 module system, so that enables the ES6 module syntax.
Apparently this combination was not even allowed before Typescript 2.0. In the Typescript 2.0 release notes, it says:
"Previously flagged as an invalid flag combination, target: es5 and ‘module: es6’ is now supported. This should facilitate using ES2015-based tree shakers like rollup."