title: Is there any way to delegate the index property in typescript?
body: <p>Is there any way to delegate the index property to a member in typescript?  I am writing a wrapper, and I would like to delegate the index property to the object I am wrapping.</p>
  
  <p>Something like:</p>
  
  <pre><code>interface MyStringArray {
      length : number;
      clear() : void;
      [index: number] : string;
  }
  
  export class MyStringArrayWrapper implements MyStringArray {
  
      private wrapped : MyStringArray;
  
      public get length() : number { 
          return this.wrapped.length;
      }
  
      public clear() : void {
          this.wrapped.clear();
      }
  
      // This doesn't work
      public get [index : number] : string { 
          return this.wrapped[index];
      }
  
      // This doesn't work either
      public set [index : number](value: string) { 
          this.wrapped[index] = value;
      }
  }
  </code></pre>