// 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 // Sergey Bakulin // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 3.2 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 | undefined; transform?(body: any, response: request.Response, resolveWithFullResponse?: boolean): any; transform2xxOnly?: boolean | undefined; resolveWithFullResponse?: boolean | undefined; } type RequestPromiseAPI = request.RequestAPI, RequestPromiseOptions, request.RequiredUriUrl>; type OptionsWithUri = request.UriOptions & RequestPromiseOptions; type OptionsWithUrl = request.UrlOptions & RequestPromiseOptions; type Options = OptionsWithUri | OptionsWithUrl; } declare const requestPromise: requestPromise.RequestPromiseAPI; export = requestPromise;