title: Extending type when extending an ES6 class with a TypeScript decorator
body: <p>I am trying to decorate a class with a decorator (<em>a-la-angular</em> style), and add methods and properties to it. </p>
  
  <p>this is my example decorated class:</p>
  
  <pre><code>@decorator
  class Person{
  
  }
  </code></pre>
  
  <p>and this is the decorator:</p>
  
  <pre><code>const decorator = (target)=&gt;{
      return class New_Class extends target {
          myProp:string
      }
  }
  </code></pre>
  
  <p>but <code>myProp</code> is not a known property of Person:</p>
  
  <pre><code>person.myProp //Error - myProp does not exist on type Person
  </code></pre>
  
  <p><strong>How can I decorate a typescript class and preserve type completion, type safety, etc ?</strong></p>