title: Access interface from parent class
body: <p>I want to access an interface that I, in some way, will define in a child class.</p>
  <p>So, for example, if I have this:</p>
  <pre class="lang-js prettyprint-override"><code>export default abstract class MyClass {
      protected foo(arg: this.myInterface): any {
          //
      }
  }
  
  export default class FooClass extends MyClass {
      protected myInterface: DataInterface;
  }
  </code></pre>
  <p>so from the <code>foo</code> method defined in the abstract class <code>MyClass</code>, the arg will have an <code>DataInterface</code> interface.</p>
  <p>Is this possible? If not, what's the alternative to this?</p>
  <p>-- EDIT</p>
  <p>For some context. My Abstract Class will be a <code>BaseService</code>, and I will be creating services inheriting from that <code>BaseService</code>.</p>
  <p>I will be using multiple interfaces and I need to be able to access those interfaces from <code>BaseService</code> in order to make sure that the received structure is the correct one.</p>
  <p>These structures I want to validate are attributes for a table in a sql server database, so they will be pretty dynamic.</p>
  <p>For Example:</p>
  <pre class="lang-js prettyprint-override"><code>export interface IVehicleData {
      vehicle_id?: number;
      vehicle_name?: string;
      vehicle_created_at?: Date;
      vehicle_updated_at?: Date;
    }
  </code></pre>
  <p>But in other class, I may have a different interface with different attributes. And also, multiple interfaces, not just one.</p>