title: Typescript index signature return an array result in index signature is missing
body: <p>I have an JSON like</p>
  
  <pre><code>"phone":{
  "home":[{"label":"Phone1", "val":"123"},{"label":"Phone1", "val":"123"},{"label":"Phone1", "val":"123"}],
  "work":[{"label":"Phone1", "val":"123"}, {"label":"Phone1", "val":"123"}, {"label":"Phone1", "val":"123"}],
  "....":[{"label":"Phone1", "val":"123"}]}
  </code></pre>
  
  <p>so there could be more phone objects f.e. emergency phone etc etc but what i know is the value will be an array of label/val objects.</p>
  
  <p>so I created an interfaces</p>
  
  <pre><code>export interface Person {
      phone:IHashOfPhones
  }
  
  export interface IHashOfPhones {
      [index:string]: Phone[]
  }
  
  export interface Phone {
      label: string;
      val:string; 
  }
  </code></pre>
  
  <p>however during compilation i have and error like </p>
  
  <pre><code>Index signature is missing in type { home : ...
  </code></pre>
  
  <p>if i set <code>IHashOfPhones</code> to return <code>any</code> everything is ok but i loose the type safety.</p>
  
  <p>in the code i will just loop it, no assignments</p>
  
  <p>Is there a way how to keep the type safety or I am doing something completly wrong?</p>