//#region src/cache.d.ts type CacheEntry = { value: unknown; expiresAt: number | null; staleUntil: number | null; tags: string[]; }; interface CacheStore { get(key: string): Promise; set(key: string, entry: CacheEntry): Promise; delete(key: string): Promise; invalidateTag(tag: string): Promise; } interface CacheStoreFactory { readonly kind: string; connect(): Promise; } declare function registerCache(s: CacheStore): void; declare function configureCache(factory: CacheStoreFactory): Promise; type CacheOptions = { key: string; ttl?: number; swr?: number; tags?: string[]; }; declare function cache(fn: () => T | Promise, opts: CacheOptions): Promise; declare function invalidate(tag: string): Promise; declare function memory(): CacheStoreFactory; declare function redis(opts: { url: string; }): CacheStoreFactory; //#endregion export { cache as a, memory as c, CacheStoreFactory as i, redis as l, CacheOptions as n, configureCache as o, CacheStore as r, invalidate as s, CacheEntry as t, registerCache as u };