import { RequestConfig, RequestOptions, HttpMethods, HttpResponse, RequestInterceptor, ResponseInterceptor } from '../interfaces/http';
export type AbstractCiapa = {
    [key in HttpMethods]: <T>(url: string, request: RequestOptions<T>) => Promise<HttpResponse<T>>;
};
export interface Ciapa extends AbstractCiapa {
    create: (config: RequestConfig) => this;
}
export declare class Ciapa implements AbstractCiapa {
    defaults: RequestConfig;
    requestInterceptor?: RequestInterceptor;
    responseInterceptor?: ResponseInterceptor;
    constructor(config: RequestConfig);
    setRequestInterceptor(requestInterceptor: RequestInterceptor): void;
    setResponseInterceptor(responseInterceptor: ResponseInterceptor): void;
    static create(config: RequestConfig): Ciapa;
    private preRequest;
    private request;
}
