import { QueryParams, SimpleResponse } from "../types";
export declare class SimpleBuilder {
    private url;
    private requestBody;
    private requestHeaders;
    private requestParams;
    private useAbortController;
    private privateAbortController?;
    constructor(url: string, defaultHeaders?: HeadersInit, useAbortController?: boolean);
    abortController(controller: AbortController): this;
    body<T>(body: T): SimpleBuilder;
    headers(requestHeaders: HeadersInit): this;
    params(requestParams: QueryParams, lowerCaseKeys?: boolean): this;
    private buildUrl;
    private isHeadersRecord;
    private prepareHeaders;
    private handleRequest;
    fetch<T>(): Promise<SimpleResponse<T>>;
    post<T>(): Promise<SimpleResponse<T>>;
    put<T>(): Promise<SimpleResponse<T>>;
    patch<T>(): Promise<SimpleResponse<T>>;
    delete<T>(): Promise<SimpleResponse<T>>;
}
