title: Translate C# delegates onto TypeScript
body: <p>Could you tell me how to translate this into <code>TypeScript</code>?
  using SharpKit.JavaScript;</p>
  
  <pre><code>namespace MyNamespace
  {
      [JsType(JsMode.Prototype)]
      public class JsEventArgs
      {
      }
  
      public delegate void JsEventHandler&lt;in T&gt;(object sender, T args) where T : JsEventArgs;
      public delegate void JsEventHandler(object sender, JsEventArgs args);
  }
  </code></pre>
  
  <p>And usage in the other class:</p>
  
  <pre><code>public event JsEventHandler&lt;LayerVisivilityEventArgs&gt; Changed;
  </code></pre>
  
  <p>I tried that:</p>
  
  <pre><code>module JsEvent {
  
      export class JsEventArgs {
      }
  
      public JsEventHandler: (sender: Object, args: any) =&gt; void;
      public JsEventHandler: (sender: Object, args: JsEventArgs) =&gt; void;
  }
  </code></pre>