import { AsyncFunction } from "./type"; export interface Setting { timeout?: number; timeoutResult?: any; identifier?: string; } /** * 为异步函数添加缓存功能。 * * 该函数根据函数参数、函数名和一个可选的标识符来缓存异步函数的结果。 * 如果结果已经缓存,则返回缓存的结果。如果函数正在执行中,则等待结果返回,并使用一个超时机制防止无限等待。 * * @template Args - 函数参数的类型。 * @template Promise - 函数返回值的类型。 * @param {AsyncFunction} func - 需要包装的异步函数。 * @param {Setting} [setting=defalutSetting] - 可选的缓存设置。 * @returns {AsyncFunction} - 带有缓存功能的包装函数,返回类型为 `Promise`。 */ export declare function cacheWrapper>(func: F, setting?: Setting): F;