type DataLoaderWithStringKey = { readonly batchLoadFn: (keys: readonly string[]) => Promise | readonly T[]; readonly cacheKeyFn?: undefined; }; type DataLoaderWithKeyFunction = { readonly batchLoadFn: (keys: readonly TKey[]) => Promise | readonly T[]; readonly cacheKeyFn: (key: TKey) => string; }; export declare function createSuperDataLoader({ batchLoadFn, cacheKeyFn, }: DataLoaderWithKeyFunction | DataLoaderWithStringKey): { load: (key: TKey) => Promise; loadMany: (keys: readonly TKey[]) => Promise<(Awaited | undefined)[]>; clear: (key: TKey) => void; clearAll: () => void; prime: (key: TKey, value: T) => void; }; export default createSuperDataLoader;