import { params, requestInit, requestType } from '../utils/request.js'; import type { IInterceptor } from '../utils/request'; import type { Fn } from '@cc-heart/utils/helper'; type requestRepose = { data: Promise; abort: AbortController; }; export declare class Request { private readonly baseUrl; private requestInterceptor; private responseInterceptor; private errorInterceptor; constructor(baseUrl?: string); get interceptor(): { requestInterceptor: Fn[]; responseInterceptor: Fn[]; errorInterceptor: Fn[]; }; mergeInterceptor(interceptor: IInterceptor): { requestInterceptor: Fn[]; responseInterceptor: Fn[]; errorInterceptor: Fn[]; }; abortFactory(): AbortController; request(url: string, method: requestType, body?: U, requestInit?: requestInit & { body?: RequestInit['body']; }, interceptor?: IInterceptor): requestRepose; Get(url: string, params?: U, requestInit?: requestInit, interceptor?: IInterceptor): requestRepose; Post: (url: string, params?: U, requestInit?: requestInit, interceptor?: IInterceptor) => requestRepose; Put: (url: string, params?: U, requestInit?: requestInit, interceptor?: IInterceptor) => requestRepose; Patch: (url: string, params?: U, requestInit?: requestInit, interceptor?: IInterceptor) => requestRepose; Delete: (url: string, params?: U, requestInit?: requestInit, interceptor?: IInterceptor) => requestRepose; useRequestInterceptor(callback: Fn): void; useResponseInterceptor(callback: Fn): void; useErrorInterceptor(callback: Fn): void; getRequestUrl(path: string): string; } interface useFetchOptions { method?: requestType; body?: params; } export declare function createFetchRequest(instance?: Request): (url: string, options?: useFetchOptions) => requestRepose; export {};