import { HttpMethod, MultipartHttpClient, MultipartHttpOptions, MultipartHttpRequest } from 'simple-http-request-builder'; import { HttpResponse } from '../client/HttpResponse'; import { HttpPromise } from '../promise/HttpPromise'; import { FetchResponseHandler } from '../handler/FetchResponseHandlers'; export declare const createResponseFromXhr: (xhr: XMLHttpRequest) => Response; /** * Handle multipart request using {@link XMLHttpRequest} * @param multipartHttpRequest the request to be executed */ export declare const multipartHttpFetchClientExecutor: MultipartHttpClient>; /** * A {@link MultipartHttpFetchClient} that executes an {@link MultipartHttpRequest} that returns JSON responses. * It uses {@link multipartHttpFetchClient} to executes the {@link MultipartHttpRequest}. */ export declare const multipartHttpFetchClient: (httpRequest: MultipartHttpRequest, ...handlers: FetchResponseHandler[]) => Promise>; export type MultipartHttpFetchClient = (multipartHttpRequest: MultipartHttpRequest) => Promise>; /** * Factory function to create fetch {@link MultipartHttpRequest}. * * @param baseUrl The base URL. It should not contain an ending slash. A valid base URL is: http://hostname/api * @param method The HTTP method used for the request, see {@link HttpMethod} * @param path The path of the endpoint to call, it should be composed with a leading slash * and will be appended to the {@link MultipartHttpRequest#baseUrl}. A valid path is: /users * @param multipartHttpClient The fetch client that uses {@link MultipartHttpRequest} and returns * a `Promise>` * @param options Optional options to configure the request */ export declare function createMultipartHttpFetchRequest(baseUrl: string, method: HttpMethod, path: string, multipartHttpClient: MultipartHttpFetchClient, options?: Partial): MultipartHttpRequest>;