title: How to declare a typed object with arbitrary keys?
body: <p>In a <code>.d.ts</code> file, how do I define an object as having string keys and <code>T</code> values?</p>
  
  <p>e.g.</p>
  
  <pre><code>declare var Game: {
      creeps: Object&lt;string, Creep&gt;; // not sure what syntax to use here
  };
  
  declare class Creep {
     // definition...
  }
  </code></pre>
  
  <p><code>Game.creeps</code> is an <code>object</code>, but I don't know what properties/keys it will have (they're defined at run time -- I'm using it like a dictionary), however, I do know that all its values will be <code>Creep</code>s.</p>
  
  <p>My IDE says "Object is not generic" so I guess that syntax isn't quite right.</p>