title: TypeScript type for reduce
body: <p>How would you declare a type for this properly?</p>
  
  <pre class="lang-js prettyprint-override"><code>interface MediaQueryProps {
    [key: string]: number;
  }
  
  const size: MediaQueryProps = {
    small: 576,
    medium: 768,
    large: 992,
    extra: 1200
  };
  
  export default Object.keys(size).reduce((acc, cur) =&gt; {
    acc[cur] = `(min-width: ${size[cur]}px)`;
  
    return acc;
  }, {});
  </code></pre>
  
  <p><code>acc[cur]</code> is complaining because</p>
  
  <pre><code>Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{}'.
    No index signature with a parameter of type 'string' was found on type '{}'
  </code></pre>
  
  <p>Is there any way I can declare a type for this without using any?</p>