title: Typescript - Default parameters on class with interface
body: <p>I have a scenario where I have an interface which has a method like so:</p>
  
  <pre><code>interface SomeInterface
  {
     SomeMethod(arg1: string, arg2: string, arg3: boolean);
  }
  </code></pre>
  
  <p>And a class like so:</p>
  
  <pre><code>class SomeImplementation implements SomeInterface
  {
     public SomeMethod(arg1: string, arg2: string, arg3: boolean = true){...}
  }
  </code></pre>
  
  <p>Now the problem is I cannot seem to tell the interface that the 3rd option should be optional or have a default value, as if I try to tell the interface there is a default value I get the error: </p>
  
  <p><code>TS2174: Default arguments are not allowed in an overload parameter.</code></p>
  
  <p>If I omit the default from the interface and invokes it like so:</p>
  
  <pre><code>var myObject = new SomeImplementation();
  myObject.SomeMethod("foo", "bar");
  </code></pre>
  
  <p>It complains that the parameters do not match any override. So is there a way to be able to have default values for parameters and inherit from an interface, I dont mind if the interface has to have the value as default too as it is always going to be an optional argument.</p>