title: Does TypeScript JSDoc-style typing have full power of regular types?
body: <p>TypeScript is said to be <a href="https://github.com/Microsoft/TypeScript/issues/14833" rel="nofollow noreferrer">"turing complete"</a>. Is the JSDoc-style typing as feature full as regular types? Can we do mapped types, conditional types, keyof, etc, and all the things of regular types?</p>
  
  <p>Just curious, because I'd like to declare types for JS files that implement class-factory mixins and that define define functions that accepts objects and return classes generated from the object definition. The generated classes should have protected and private members, and the mixins should return classes with protected/private members.</p>
  
  <p>I'd like to type these things without having to convert to <code>.ts</code> files, just keep the JS code as is.</p>
  
  <p>Is it possible with JSDoc comments, to type such meta things like generated classes from object literal definitions and class-factory mixins, etc?</p>