title: define interface: object with unknown number and name of properties
body: <p>I have an object foo</p>
  
  <pre><code>interface Foo {
      fooId: string;
      otherStuff: any;
  }
  </code></pre>
  
  <p>Now I have an object fooCollection, which is an object containing an undefined number of foos. Each property is a string equals to fooId. How could I define an accurate  interface for fooCollection?</p>
  
  <p>So far I came up with this:</p>
  
  <pre><code>interface FooCollection {
      [key: string]: Foo;
  }
  </code></pre>
  
  <p>-How could I tell ts that the number of property could be anything?</p>
  
  <p>-Can I be more precise about the prop name, saying that it's fooId instead of any string?</p>