//#region packages/fast-memoize/index.d.ts type Func = (...args: any[]) => any; interface Cache { create: CacheCreateFunc; } interface CacheCreateFunc { (): DefaultCache; } interface DefaultCache { get(key: K): V | undefined; set(key: K, value: V | undefined): void; } type Serializer = (args: any[]) => string; interface Options { cache?: Cache>; serializer?: Serializer; strategy?: MemoizeFunc; } interface ResolvedOptions { cache: Cache>; serializer: Serializer; } interface MemoizeFunc { (fn: F, options?: Options): F; } declare function memoize(fn: F, options?: Options): F; type StrategyFn = (this: unknown, fn: F, cache: DefaultCache>, serializer: Serializer, arg: any) => any; interface Strategies { variadic: MemoizeFunc; monadic: MemoizeFunc; } declare const strategies: Strategies; //#endregion export { Cache, MemoizeFunc, Options, ResolvedOptions, Serializer, Strategies, StrategyFn, memoize, strategies }; //# sourceMappingURL=index.d.ts.map