import { HttpRequestInfoModel } from "../models/http-request-info.model"; export declare abstract class HttpClientAdapter { abstract get>(url: string, config: RestRequestConfig, info: HttpRequestInfoModel): Promise; abstract delete>(url: string, config: RestRequestConfig, info: HttpRequestInfoModel): Promise; abstract head>(url: string, config: RestRequestConfig, info: HttpRequestInfoModel): Promise; abstract options>(url: string, config: RestRequestConfig, info: HttpRequestInfoModel): Promise; abstract post>(url: string, data: any, config: RestRequestConfig, info: HttpRequestInfoModel): Promise; abstract put>(url: string, data: any, config: RestRequestConfig, info: HttpRequestInfoModel): Promise; abstract patch>(url: string, data: any, config: RestRequestConfig, info: HttpRequestInfoModel): Promise; } export interface RestResponse { data: T; status: number; statusText: string; headers: any; config: RestRequestConfig; request?: any; } export interface RestError extends Error { config: RestRequestConfig; code?: string; request?: any; response?: RestResponse; isAxiosError: boolean; toJSON: () => object; } export interface RestRequestConfig { url?: string; method?: RestMethod; baseURL?: string; headers?: any; params?: any; paramsSerializer?: (params: any) => string; data?: any; timeout?: number; timeoutErrorMessage?: string; withCredentials?: boolean; auth?: RestBasicCredentials; responseType?: ResponseType; xsrfCookieName?: string; xsrfHeaderName?: string; onUploadProgress?: (progressEvent: any) => void; onDownloadProgress?: (progressEvent: any) => void; maxContentLength?: number; validateStatus?: (status: number) => boolean; maxRedirects?: number; socketPath?: string | null; httpAgent?: any; httpsAgent?: any; } export declare type RestMethod = 'get' | 'GET' | 'delete' | 'DELETE' | 'head' | 'HEAD' | 'options' | 'OPTIONS' | 'post' | 'POST' | 'put' | 'PUT' | 'patch' | 'PATCH' | 'link' | 'LINK' | 'unlink' | 'UNLINK'; export declare type RestResponseType = 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'; export interface RestBasicCredentials { username: string; password: string; }