///
import { GotJSONOptions, GotOptions, Hooks } from 'got';
import { OutgoingHttpHeaders } from 'http';
import { URL } from 'url';
import { FetchResponse, ParsedJson } from '../fetch_response';
import { Logger } from '@trailervote/express-logger';
/**
* Create the GotOptions to call got with
*
* @param {URL} url the url to "got"
* @param {string} accepts the accept header value
* @param headers extra headers
*/
export declare function createOptions(url: URL, accepts: string | undefined, headers: OutgoingHttpHeaders | undefined): GotOptions;
/**
* Add authorization to the options
*
* @param {Readonly>} options the options
* @param {Readonly>} value the authorization header value to set
*
* @returns {GotOptions} the new options
*/
export declare function addAuthorization(options: Readonly>, value?: Readonly): GotOptions;
export declare function addContentType(options: Readonly>, value?: Readonly): GotOptions;
declare type ExternalRequestOptions = Partial> & {
hooks?: Hooks;
logger?: Logger;
tag?: string;
body?: object;
};
/**
* Make an external request
*
* @param {Readonly} options
* @returns {Promise} the response
*/
export declare function externalRequest(options?: Readonly): Promise>;
export {};