///
import { RequestOptions } from 'http';
import { ParsedUrlQueryInput } from 'querystring';
export declare type RequestBuilder = (options: T, request: RequestOptions) => RequestOptions;
export declare const host: (propertyBuilder: (options: T) => string | null | undefined) => RequestBuilder;
export declare const method: (propertyBuilder: (options: T) => string | undefined) => RequestBuilder;
export declare const get: (pathBuilder: string | ((config: T) => string), queryBuilder?: ((config: T) => ParsedUrlQueryInput) | undefined) => RequestBuilder;
export declare const post: (pathBuilder: string | ((config: T) => string), queryBuilder?: ((config: T) => ParsedUrlQueryInput) | undefined) => RequestBuilder;
export declare const put: (pathBuilder: string | ((config: T) => string), queryBuilder?: ((config: T) => ParsedUrlQueryInput) | undefined) => RequestBuilder;
export declare const del: (pathBuilder: string | ((config: T) => string), queryBuilder?: ((config: T) => ParsedUrlQueryInput) | undefined) => RequestBuilder;
export declare function setRequestProperty(property: K): (propertyBuilder: (options: T) => RequestOptions[K]) => RequestBuilder;
export declare function appendQuery(buildQuery: (input: T) => ParsedUrlQueryInput): RequestBuilder;
export declare function build(...builders: Array>): RequestBuilder;
export declare function mapRequestBuilder(map: (a: A) => B, builder: RequestBuilder): RequestBuilder;
export declare function addHeader(headerName: string, headerValue: (options: T) => string): RequestBuilder;
export declare function basicAuth(createCredentials: (options: T) => [string, string]): RequestBuilder;
//# sourceMappingURL=request-builder.d.ts.map