/** * Creates a memoized version of an async function with a custom cache key generator. * Only successful results are cached - rejected promises are not remembered. * * @param fn - The async function to memoize * @param getCacheKey - Function that generates a cache key from the function arguments * @returns Object with the memoized function and cache clearing capability */ export declare function memoize(fn: (...args: TArgs) => Promise, getCacheKey: (...args: TArgs) => string): { fn: (...args: TArgs) => Promise; clearCache: () => void; clearCacheEntry: (...args: TArgs) => void; };