title: error TS2345: Argument of type '(response: string) => void' is not assignable to parameter of type '((value: {}) => void | PromiseLike<void>) | null
body: <p>I updated my typescript packages via npm and now I'm getting the error:</p>
  
  <p>"TS2345: Argument of type '(response: string) => void' is not assignable to parameter of type '((value: {}) => void | PromiseLike) | null | undefined'"</p>
  
  <p>when trying to compile the following code:</p>
  
  <pre><code>private _send&lt;T&gt;(urlPath: string, params?: RequestParams): Promise&lt;T&gt; {
      return this._requester.sendRequest&lt;T&gt;(this._datafeedURL, urlPath, params);
  }
  
  public getServerTime(callback: ServerTimeCallback): void {
      this._send('time')
          .then((response: string) =&gt; {
              const time = parseInt(response);
              if (!isNaN(time)) {
                  callback(time);
              }
          })
          .catch((error?: string | Error) =&gt; {
              logMessage(`Failed to load server time, error=${getErrorMessage(error)}`);
          });
  }
  </code></pre>
  
  <p>The error is coming from the .then line</p>
  
  <p>I've read other similar questions but I can't make sense of the issue for my case.</p>