// Type definitions for request-promise 4.1 // Project: https://github.com/request/request-promise // Definitions by: Christopher Glantschnig // Joe Skeen // Aya Morisawa // Matt R. Wilson // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 import request = require('request'); import http = require('http'); import errors = require('./errors'); import Promise = require('bluebird'); declare namespace requestPromise { interface RequestPromise extends request.Request { then: Promise["then"]; catch: Promise["catch"]; finally: Promise["finally"]; cancel: Promise["cancel"]; promise(): Promise; } interface RequestPromiseOptions extends request.CoreOptions { simple?: boolean; transform?(body: any, response: request.Response, resolveWithFullResponse?: boolean): any; transform2xxOnly?: boolean; resolveWithFullResponse?: boolean; } type RequestPromiseAPI = request.RequestAPI; type OptionsWithUri = request.UriOptions & RequestPromiseOptions; type OptionsWithUrl = request.UrlOptions & RequestPromiseOptions; type Options = OptionsWithUri | OptionsWithUrl; } declare const requestPromise: requestPromise.RequestPromiseAPI; export = requestPromise;