import type { Headers, HttpClient, InitParams, MethodParams, SearchParams } from '../../types';
import { InterceptorManager } from './interceptor-manager';
export declare class HttpError extends Error {
    status: number;
    statusText: string;
    constructor(status: number, statusText: string, message?: string);
}
export declare class FetchAdapter implements HttpClient {
    private baseURL;
    private headers;
    private readonly fetchFn;
    interceptors: InterceptorManager;
    constructor(baseURL?: string, fetchFn?: typeof fetch);
    init(params: InitParams): void;
    addHeaders(headers: Headers): void;
    private buildUrl;
    private mergeHeaders;
    private processBody;
    private parseResponse;
    private request;
    get<Data = unknown, Params = SearchParams>(point: string, params?: MethodParams<Params>): Promise<Data>;
    post<Data = unknown, Body = unknown, Params = SearchParams>(point: string, body: Body, params?: MethodParams<Params>): Promise<Data>;
    put<Data = unknown, Body = unknown, Params = SearchParams>(point: string, body: Body, params?: MethodParams<Params>): Promise<Data>;
    patch<Data = unknown, Body = unknown, Params = SearchParams>(point: string, body: Body, params?: MethodParams<Params>): Promise<Data>;
    delete<Data = unknown, Params = SearchParams>(point: string, params?: MethodParams<Params>): Promise<Data>;
}
