import type { AnyFunction } from './types/common.js'; export type CacheKeyFn = (args: Parameters) => ReturnValue; export type DefaultCacheKeyFn = CacheKeyFn[0]> | string>; export type MemoizedFn> = Fn & { cache: Map, ReturnType>; }; export declare function memo>(fn: Fn, getCacheKey: CkFn): MemoizedFn; export declare function memo(fn: Fn): MemoizedFn>;