title: jasmine.Promise vs webdriver.promise.Promise
body: <p>Have this method in a <code>Protractor</code> page object test:</p>
  
  <pre><code>public navigateTo = (): Promise&lt;any&gt; =&gt; {
      return browser.get('https://material.angular.io/');
  };
  </code></pre>
  
  <p>Want to define the type that is returned i.e. <code>Promise&lt;any&gt;</code>.</p>
  
  <p>Should I import the <code>jasmine</code> promise? Or the <code>webdriver</code> promise?</p>
  
  <pre><code>import * as webdriver from "selenium-webdriver";
  import Promise = webdriver.promise.Promise;
  </code></pre>
  
  <p>or </p>
  
  <pre><code>import Promise = jasmine.Promise;
  </code></pre>
  
  <p>I'm confused about why I need to specify an implementation of promise. Can I specify an interface for <code>Promise</code>?</p>
  
  <hr>
  
  <p>edit: What I really wanted to do was:</p>
  
  <pre><code>npm install --save-dev @types/es6-promise
  </code></pre>
  
  <p>This gave me the <code>Promise&lt;any&gt;</code> type.</p>
  
  <p>Relevant Question: <a href="https://stackoverflow.com/questions/27573365/how-to-use-typescript-with-native-es6-promises#27573589/">How to use Typescript with native ES6 Promises</a></p>