import { ProblemDetails } from "../errors/problem-details";
/**
 * Fetch wrapper for making requests returning `Response`
 * @param url - requests url
 * @param init - requests init
 */
export declare function apiBaseGetResponse(url: string, init: RequestInit): Promise<Response>;
/**
 * Fetch wrapper for making get requests
 * @param url - request url
 * @param headers - request headers
 */
export declare function apiBaseGet<T>(url: string, headers?: Headers): Promise<any>;
/**
 * Fetch wrapper for get requests returning blob
 * @param url - request url
 * @param headers - request headers
 */
export declare function apiBaseGetBlob(url: string, headers?: Headers): Promise<any>;
/**
 * Fetch wrapper for making post requests
 * @param url - request url
 * @param data - request body
 * @param headers - request headers
 */
export declare function postBaseApi<T>(url: string, data?: object, headers?: Headers): Promise<any>;
/**
 * Fetch wrapper for making put requests
 * @param url - request url
 * @param data - request body
 * @param headers - request headers
 */
export declare function putBaseApi<T>(url: string, data: object, headers?: Headers): Promise<any>;
/**
 * Fetch wrapper for making delete requests
 * @param url - request url
 * @param data - request body
 * @param headers - request headers
 */
export declare function deleteBaseApi(url: string, headers?: Headers): Promise<void>;
export declare function baseApiHandleResponse<T>(response: Response): Promise<any>;
export declare function baseApiHandleBlobResponse(response: Response): Promise<any>;
export declare function handleErrorResponse<T = ProblemDetails>(response: Response): Promise<T>;
