<p dir="auto">I've just updated the definitions from the version 0.0.33 to the latest version 0.0.36 and my build is failing with the following error (but that error occurs also in 0.0.34 and 0.0.35):</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content=".../node_modules/@types/google-apps-script/google-apps-script.base.d.ts
Type error: Subsequent variable declarations must have the same type.  Variable 'console' must be of type 'Console', but here has type 'console'.  TS2403

    325 | // declare var MimeType: GoogleAppsScript.Base.MimeType;
    326 | declare var Session: GoogleAppsScript.Base.Session;
  &gt; 327 | declare var console: GoogleAppsScript.Base.console;"><pre class="notranslate"><code class="notranslate">.../node_modules/@types/google-apps-script/google-apps-script.base.d.ts
Type error: Subsequent variable declarations must have the same type.  Variable 'console' must be of type 'Console', but here has type 'console'.  TS2403

    325 | // declare var MimeType: GoogleAppsScript.Base.MimeType;
    326 | declare var Session: GoogleAppsScript.Base.Session;
  &gt; 327 | declare var console: GoogleAppsScript.Base.console;
</code></pre></div>
<p dir="auto">TypeScript version: 3.0.1</p>
<ul dir="auto">
<li>Authors: <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/motemen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/motemen">@motemen</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/grant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/grant">@grant</a></li>
</ul>
<p dir="auto">In the node declarations, it seems like the EventEmitter interface and EventEmitter class have become out of sync so that typescript code which should compile clean generates error TS2352:</p>
<p dir="auto">repro case::</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="/// &lt;reference path=&quot;typings/index.d.ts&quot; /&gt;
import {EventEmitter} from 'events';
const pe = process as EventEmitter;"><pre class="notranslate"><code class="notranslate">/// &lt;reference path="typings/index.d.ts" /&gt;
import {EventEmitter} from 'events';
const pe = process as EventEmitter;
</code></pre></div>
<p dir="auto">observed error:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="error TS2352: Type 'Process' cannot be converted to type 'EventEmitter'.
    Property 'prependListener' is missing in type 'Process'."><pre class="notranslate"><code class="notranslate">error TS2352: Type 'Process' cannot be converted to type 'EventEmitter'.
    Property 'prependListener' is missing in type 'Process'.
</code></pre></div>
<p dir="auto">It seems like this happened when new Node V6 methods on core EvenentEmitter (prependListener, prependOnceListener, and eventName), but in the declaration file these methods were only  only got added to the class declaration in module 'events'.   As a result, attempting to pass the <code class="notranslate">process</code> variable to a method expecting a events.EventEmitter generate a typescript error.</p>
<p dir="auto">Should these methods be added to both declarations of EventEmitter, or does it make sense to try to eliminate the dual declaration of EventEmitter?</p>