title: TypeScript Empty Object Literal Type Annotation
body: <p>In TypeScript, how do I annotate the type of an object literal in the following situation?</p>
  
  <pre><code>// Whats the type annotation of this object?
  var myObj = {};
  // Consider that `myArr` is dynamically filled with data
  var myArr : string[] = [ 'foo', 'bar', 'baz' /* and many more items */ ];
  
  myArr.forEach(function ( key: string ) {
      // I just know that `key` is a string
      // in this case but I don't know whether
      // it is empty or whats exactly in it
      // as `myArr` is the result of a DB query
      myObj[ key ] = 'Hello ' + key;
  });
  </code></pre>
  
  <p>The object <code>myObj</code> will be initialized empty. I don't know how many properties will be added to the object later and I don't know the name of their keys, but what I know is that their values will be strings. Is there a proper way to annotate that? I can't find anything about that neither in the docs nor in the spec. And I don't want to make an Array out of <code>myObj</code>. Please do not change the code from my example. I just want to know what the correct type annotation is if there is one.</p>