import { Redis } from '../redis.js'; export type CacheItem = { val: T | null; updatedAt: number; }; export type CacheOptions = { staleTTL: number; maxTTL: number; fetchMethod: (key: string) => Promise; fetchManyMethod?: (keys: string[]) => Promise>; }; export declare class ReadThroughCache { redis: Redis; opts: CacheOptions; constructor(redis: Redis, opts: CacheOptions); private _fetchMany; private fetchAndCache; private fetchAndCacheMany; get(key: string, opts?: { revalidate?: boolean; }): Promise; getMany(keys: string[], opts?: { revalidate?: boolean; }): Promise>; set(key: string, val: T | null): Promise; setMany(vals: Record): Promise; clearEntry(key: string): Promise; isExpired(result: CacheItem): boolean; isStale(result: CacheItem): boolean; } //# sourceMappingURL=read-through.d.ts.map