title: TS interface for dynamic key in object
body: <p>I would like to write the proper interface for this object. The key of step should be dynamic and the value is boolean. This is the object:</p>
  
  <pre><code>const obj = {
    A: {
      step: {
        a: true,
        b: true,
        c: true,
      },
    },
    B: {
      step: {
        a: true,
        d: true,
      },
    },
    C: {
      step: {
        e: true,
        f: true,
        g: true,
      },
    },
  }
  </code></pre>
  
  <p>So far I have tried this, but I still got an error.</p>
  
  <pre><code>interface OBJ_INTERFACE {
    side: {
      step: {
        [key: string]: boolean,
      }
    }
  }
  </code></pre>