import { Keyable } from './Keyable'; import { CreateStorageFn } from './ICacheStorage'; export interface CacheResult { value: V; cacheHit: boolean; isPositive: boolean; } export interface EntitlementCacheOptions { positiveCacheTTLSeconds?: number; negativeCacheTTLSeconds?: number; positiveCacheSize?: number; negativeCacheSize?: number; /** Factory function to create storage. Defaults to in-memory TTLCacheStorage */ createStorageFn: CreateStorageFn> | undefined; } export declare class EntitlementCache { private readonly negativeStorage; private readonly positiveStorage; private readonly pendingFetches; constructor(options: EntitlementCacheOptions); executeUsingCache(keyable: Keyable, onCacheMiss: (k: Keyable) => Promise>, opts?: { skipCache?: boolean; }): Promise>; } //# sourceMappingURL=EntitlementCache.d.ts.map