import { AxiosResponse, AxiosRequestConfig } from "axios"; import { Future } from "./future"; declare type AxiosRequest = AxiosRequestConfig; export interface AxiosBuilder { mapResponse(response: AxiosResponse): ["success", D] | ["error", E]; mapNetworkError: (request: AxiosRequestConfig, message: string) => E; } export interface HttpResponse { status: number; location: string | undefined; } export declare type RequestError = { message: string; }; export declare type RequestResult = { data: Data; response: HttpResponse; }; export declare function axiosRequest(builder: AxiosBuilder, request: AxiosRequest): Future>; export declare type DefaultError = { message: string; }; export declare const defaultBuilder: AxiosBuilder; export declare function request(request: AxiosRequestConfig): Future>; export {};