import { syncMemoizer } from './sync'; import { INodeStyleCallBack as CB, ResultBase, IParamsBase0, IParamsBase1, IParamsBase2, IParamsBase3, IParamsBase4, IParamsBase5, IParamsBase6 } from './util'; export interface IMemoized extends ResultBase { (cb: CB): void; (a1: T1, cb: CB): void; (a1: T1, a2: T2, cb: CB): void; (a1: T1, a2: T2, a3: T3, cb: CB): void; (a1: T1, a2: T2, a3: T3, a4: T4, cb: CB): void; (a1: T1, a2: T2, a3: T3, a4: T4, a5: T5, cb: CB): void; (a1: T1, a2: T2, a3: T3, a4: T4, a5: T5, a6: T6, cb: CB): void; } interface IMemoizableFunction0 { (cb: CB): void; } interface IMemoizableFunction1 { (a1: T1, cb: CB): void; } interface IMemoizableFunction2 { (a1: T1, a2: T2, cb: CB): void; } interface IMemoizableFunction3 { (a1: T1, a2: T2, a3: T3, cb: CB): void; } interface IMemoizableFunction4 { (a1: T1, a2: T2, a3: T3, a4: T4, cb: CB): void; } interface IMemoizableFunction5 { (a1: T1, a2: T2, a3: T3, a4: T4, a5: T5, cb: CB): void; } interface IMemoizableFunction6 { (a1: T1, a2: T2, a3: T3, a4: T4, a5: T5, a6: T6, cb: CB): void; } type AsyncParams0 = IParamsBase0 & { load: IMemoizableFunction0; }; type AsyncParams1 = IParamsBase1 & { load: IMemoizableFunction1; }; type AsyncParams2 = IParamsBase2 & { load: IMemoizableFunction2; }; type AsyncParams3 = IParamsBase3 & { load: IMemoizableFunction3; }; type AsyncParams4 = IParamsBase4 & { load: IMemoizableFunction4; }; type AsyncParams5 = IParamsBase5 & { load: IMemoizableFunction5; }; type AsyncParams6 = IParamsBase6 & { /** * The function that loads the resource when is not in the cache. */ load: IMemoizableFunction6; }; declare function asyncMemoizer(options: AsyncParams0): IMemoized; declare function asyncMemoizer(options: AsyncParams1): IMemoized; declare function asyncMemoizer(options: AsyncParams2): IMemoized; declare function asyncMemoizer(options: AsyncParams3): IMemoized; declare function asyncMemoizer(options: AsyncParams4): IMemoized; declare function asyncMemoizer(options: AsyncParams5): IMemoized; declare function asyncMemoizer(options: AsyncParams6): IMemoized; declare namespace asyncMemoizer { var sync: typeof syncMemoizer; } export { asyncMemoizer }; //# sourceMappingURL=async.d.ts.map