When the core references `vscode`, we only want to import the types and never generate a real import (which will fail to load). Use `import type` to better enforce this
* Fixes more node 12 typing errors
For #82514
* Remove Symbol.toStringTag usage for now
* Reverting a few fixes that are not comptible with current node typings
* Revert one more use of StringDecoder
Must wait until we actually pick up the new typings
Readonly helps out with TS's type guards and is also a good best practice. Specifically, readonly strings/numbers have their literal type instead of a generic `string` | `number` type, which can help catch dead code and some common programming mistakes