import { DeleteMethodOptions } from "./api/deleteMethod"; import { GetMethodOptions } from "./api/getMethod"; import { PostMethodOptions } from "./api/postMethod"; import { PutMethodOptions } from "./api/putMethod"; import { OptionsMethodOptions } from "./api/optionsMethod"; import { ConnectMethodOptions } from "./api/connectMethod"; import { TraceMethodOptions } from "./api/traceMethod"; import { PatchMethodOptions } from "./api/patchMethod"; import { PostFileMethodOptions } from "./api/postFileMethod"; import { UploadAsyncMethodOptions } from "./api/uploadAsyncMethod"; export type { DeleteMethodOptions, GetMethodOptions, PostMethodOptions, PutMethodOptions, OptionsMethodOptions, ConnectMethodOptions, TraceMethodOptions, PatchMethodOptions, }; export type HttpDelete = (path: string, body?: any, options?: Partial) => Promise; export type HttpPut = (path: string, body?: any, options?: Partial) => Promise; export type HttpPost = (path: string, body?: any, options?: Partial) => Promise; export type HttpPostFile = (path: string, body: any, headers: any, file: { buffer: Buffer; bufferName: string; }, options?: Partial) => Promise; export type HttpGet = (path: string, getOptions?: Partial) => Promise; export type HttpOptionsMethod = (path: string, options?: Partial) => Promise; export type HttpConnect = (path: string, options?: Partial) => Promise; export type HttpTrace = (path: string, options?: Partial) => Promise; export type HttpPatch = (path: string, body?: any, options?: Partial) => Promise; export type UploadAsync = (path: string, uri: string, options?: Partial) => Promise; export type HttpApi = { httpDelete: HttpDelete; httpGet: HttpGet; httpPut: HttpPut; httpPost: HttpPost; httpPostFile: HttpPostFile; uploadAsync: UploadAsync; httpOptions: HttpOptionsMethod; httpConnect: HttpConnect; httpTrace: HttpTrace; httpPatch: HttpPatch; }; export type ApiConfig = { url: string; requestCredentials: RequestCredentials; clientName: string; }; export type ApiPopulateAuthHeader = (isAuthenticated: boolean, headers: { [key: string]: string; }) => Promise; export type ApiUploadAsyncFile = (destUrl: string, fileUri: string, method: string, uploadType: string, fieldName: string, headers: { [key: string]: string; }) => Promise<{ headers: Record; status: number; mimeType: string | null; body: string; }>; export type ApiParams = { config: ApiConfig; populateAuthHeader: ApiPopulateAuthHeader; uploadAsyncFile: ApiUploadAsyncFile; }; export declare const getHttpApi: (apiParams: ApiParams) => HttpApi;