title: typescript: error TS2693: 'Promise' only refers to a type, but is being used as a value here
body: <p>I am trying to use Typescript for my AWS Lambda and i am getting the following errors where ever I use promises.</p>
  
  <pre>
  error TS2693: 'Promise' only refers to a type, but is being used as a value here.
  </pre>
  
  <p>I tried using the following variations in the code </p>
  
  <p>Using the Promise constructor</p>
  
  <pre><code>responsePromise = new Promise((resolve, reject) =&gt; {
                      return reject(new Error(`missing is needed data`))
                  })
  </code></pre>
  
  <p>using Promise.reject</p>
  
  <pre><code>responsePromise = Promise.reject(new Error(`Unsupported method "${request.httpMethod}"`));
  </code></pre>
  
  <h3>Versions</h3>
  
  <p>Following are the versions in my dev dependencies:</p>
  
  <pre><code>"typescript": "^2.2.2"
  "@types/aws-lambda": "0.0.9",
  "@types/core-js": "^0.9.40",
  "@types/node": "^7.0.12",
  </code></pre>
  
  <h3>Contents of tsconfig.json</h3>
  
  <pre><code>{
      "compileOnSave": true,
      "compilerOptions": {
          "module": "commonjs",
          // "typeRoots" : ["./typings", "./node_modules/@types"],
          "target": "es5",
          // "types" : [ "core-js" ],
          "noImplicitAny": true,
          "strictNullChecks": true,
          "allowJs": true,
          "noEmit": true,
          "alwaysStrict": true,
          "preserveConstEnums": true,
          "sourceMap": true,
          "outDir": "dist",
          "moduleResolution": "Node",
          "declaration": true,
          "lib": [
              "es6"
          ]
      },
      "include": [
          "index.ts",
          "lib/**/*.ts"
      ],
      "exclude": [
          "node_modules",
          "**/*.spec.ts"
      ]
  }
  </code></pre>
  
  <p>I am using grunt-ts with the following configuration for running ts task.</p>
  
  <pre><code>ts: {
              app: {
                  tsconfig: {
                      tsconfig: "./tsconfig.json",
                      ignoreSettings: true
                  }
              },
  ...
  </code></pre>
  
  <p>I tried with the solution mentioned in <a href="https://stackoverflow.com/questions/42984670/i-get-ts-promise-only-refers-to-a-type-but-is-being-used-as-a-value-here">I get: [ts] &#39;Promise&#39; only refers to a type, but is being used as a value here</a> but no luck.</p>