///
/**
* An unchecked memoization function. Will retain memoized data forever.
*
* @param memoizeFunction
* @returns
*/
export declare function memoize(memoizeFunction: (index: T) => U): (index: T) => U;
/**
* A memoization function that uses the {@linkcode LFUCache} data structure to
* free up items that aren't frequently used.
*
* @param memoizeFunction
* @param capacity
* @returns
*/
export declare function memoizeFrequencyCache(memoizeFunction: (index: T) => U, capacity?: number): (index: T) => U;
/**
* A memoization function that uses the {@linkcode LRUCache} data structure to
* free up items that aren't recently used.
*
* @param memoizeFunction
* @param capacity
* @returns
*/
export declare function memoizeRecentCache(memoizeFunction: (index: T) => U, capacity?: number): (index: T) => U;