import type { IntercepterRequestContext } from './intercepter'; import type { PipeOptions, ResponseData, HttpMethods, DefaultIntercepterOptions, HandlerProfiles, HttpClientGetOption, HttpClientRequestOption, HttpClientPostOption, HttpClientPutOption, HttpClientUploadOption } from './options'; import type { IHttpClientHandler } from './httpclien-handler'; import { IntercepterCollection } from './IntercepterCollection'; export declare class HttpClient { private profiles; readonly intercepters: IntercepterCollection; /** * 构建一个 @see HttpClient 对象 * @param profiles 一个处理程序的配置对象 */ constructor(profiles?: HandlerProfiles); setupDefaults(options?: DefaultIntercepterOptions): void; /** * 设置 默认实例 @see httpclient 的拦截器 * @param option 拦截器配置 * @deprecated 建议直接调用实例的该方法 */ static setupDefaults(options?: DefaultIntercepterOptions): void; get(url: string, query?: object | string, header?: any, options?: { responseType?: "text" | "arraybuffer"; }, pipeOptions?: PipeOptions): Promise; get(option: HttpClientGetOption): Promise; post(url: string, data?: object | string, header?: any, options?: { responseType?: "text" | "arraybuffer"; }, pipeOptions?: PipeOptions): Promise; post(option: HttpClientPostOption): Promise; put(url: string, data: object | string, header?: any, options?: { responseType?: "text" | "arraybuffer"; }, pipeOptions?: PipeOptions): Promise; put(option: HttpClientPutOption): Promise; form(url: string, data: object | string, header?: any, options?: { responseType?: "text" | "arraybuffer"; }, pipeOptions?: PipeOptions): Promise; form(option: HttpClientPostOption): Promise; delete(url: string, data?: object | string, header?: any, options?: { responseType?: "text" | "arraybuffer"; }, pipeOptions?: PipeOptions): Promise; delete(option: HttpClientPutOption): Promise; uploadFile(url: string, data: { files?: { name: string; uri: string; }[]; fileType?: "image" | "audio" | "video"; filePath?: string; name?: string; formData?: any; }, header?: any, pipeOptions?: PipeOptions): Promise>; uploadFile(optoin: HttpClientUploadOption): Promise>; download(url: string, header?: any, options?: { responseType?: "text" | "arraybuffer"; }, pipeOptions?: PipeOptions): Promise>; download(): Promise>; request(url: string, method: HttpMethods, data?: any, header?: any, options?: { responseType?: "text" | "arraybuffer"; }, pipeOptions?: PipeOptions): Promise>; request(option: HttpClientRequestOption): Promise>; send(request: IntercepterRequestContext | { pipeOptions?: PipeOptions; [k: string]: any; }, handler: IHttpClientHandler): Promise>; private createIntercepterPipeline; } export declare const httpClient: HttpClient;