import { ResponseArgs, RequestArgs } from './type'; export declare type ResolveHandle = (resolveInfo: T, requestArgs?: RequestArgs) => T; export declare type RejectHandle = (rejectInfo: T, requestArgs?: RequestArgs) => T; export interface Handle { resolveHandle: ResolveHandle | RequestArgs, ExpendArgs, ResultData, Headers>; rejectHandle?: RejectHandle; } /** * 中间件管理器,用于收集中间件 */ export default class InterceptorManager { _handles: Handle[]; /** * 添加中间件 * @param resolveHandle * @param rejectHandle */ use: (resolveHandle?: ResolveHandle, rejectHandle?: RejectHandle) => void; /** * 获取深copy的中间件 */ get: () => { resolveHandle: ResolveHandle | RequestArgs, ExpendArgs, ResultData, Headers>; rejectHandle?: RejectHandle; }[]; }