/**
 * Wrap a function into a memoized version of itself. Multiple calls for the same function
 * will return the same memoized function - thus enabling a shared cache of results.
 * `const memoizedItemSearch = memoize(searchItems);`
 * @param fn
 * @returns
 */
export declare const memoize: <ARGS extends unknown[], RET>(fn: (...args: ARGS) => RET) => any;
/**
 * Clear the cache of a memoized function
 * If no function name is provided, the entire cache is cleared
 * This is useful for testing, but should not be used in production
 * @param fn
 */
export declare const clearMemoizedCache: (fnName?: string) => void;
