title: add a function to an exported type without breaking the existing contract
body: <p>I want to add a new function to an exported type, the type is already being used in prod so dont want to rename anything or introduce breaking changes.</p>
  <pre><code>import * as BunyanLogger from 'bunyan';
  import init from './logger';
  
  export type Logger = BunyanLogger;
  </code></pre>
  <p>I tried to use an interface instead of the type but it will require me to implement all methods on the <code>BunyanLogger</code>.</p>
  <p>I would like to extend the <code>Logger</code> type with an additional method, I have tried intersection shown below, but didnt work either:</p>
  <pre><code>export type Logger = BunyanLogger &amp; {
    debugInPlace: (featureRole?:string, ...params: any[]) =&gt; void;
  };
  </code></pre>
  <p>is there a way to add an additional method to the <code>Logger</code> type withouth having to re implement or delegate to the methods in the <code>BunyanLogger</code> type?</p>