title: typescript interface definition with an unknown property key
body: <p>How to express an interface (IResponse), with one property has a string key (which is not known statically). Below, the key <code>values</code> can be anything like <code>books</code>, <code>chairs</code>, etc. All other keys and types are known statically. Below <a href="http://www.typescriptlang.org/Playground#src=export%20interface%20IMeta%7B%7D%0Aexport%20interface%20IValue%7B%7D%0Aexport%20interface%20IResponse%20%7B%0A%20%20%20%20%20meta%3a%20IMeta;%0A%09%20%5Bindex%3a%20string%5D%3aIValue%5B%5D;%0A%7D%0A%0A%20export%20class%20Response%20implements%20IResponse%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20meta%3aIMeta;%0A%09%09%09values%3aIValue%5B%5D;%0A%20%7D" rel="noreferrer">implementation</a> gives error. I guess the error is because the index signature on the <code>IResponse</code> makes all the property values to be <code>IValue[]</code>. Is there a way to do this?</p>
  
  <pre><code>export interface IMeta{}
  export interface IValue{}
  export interface IResponse {
       meta: IMeta;
       [index: string]:IValue[];
  }
  
   export class Response implements IResponse {
      meta:IMeta;
      values:IValue[];
      //books:IValue[];
      //anything:IValue[];
   }
  </code></pre>