///
import type { AxiosResponse, AxiosRequestConfig, AxiosInstance } from "axios";
export interface ApiConfig {
host?: string;
protocol?: string;
port?: string | number;
timeout?: number;
logging?: boolean;
logger?: Function;
headers?: Record;
withCredentials?: boolean;
}
export default class Api {
readonly METHOD_GET = "GET";
readonly METHOD_POST = "POST";
protected instance?: AxiosInstance;
cookieMap: Map;
config: ApiConfig;
constructor(config: ApiConfig);
applyConfig(config: ApiConfig): void;
getConfig(): ApiConfig;
private requestInterceptor;
private responseInterceptor;
private mergeDefaults;
get(endpoint: string, config?: AxiosRequestConfig): Promise>;
post(endpoint: string, body: Buffer | string | object | null, config?: AxiosRequestConfig): Promise>;
request(): AxiosInstance;
}