export interface MemoizedWithTTL { (...args: A): Promise; clear: () => void; delete: (key: unknown) => boolean; } export default function memoizeWithTTL(fn: (...args: A) => Promise, { ttl, cacheKey }: { ttl: number; cacheKey?: (args: A) => unknown; }): MemoizedWithTTL;