declare class SimpleCache { private readonly ttlMs; private readonly maxEntries; private readonly cache; private readonly inflight; private readonly tagIndex; private readonly keyTags; constructor(ttlMs?: number, maxEntries?: number); get(key: string): T | undefined; set(key: string, value: T, ttlMs?: number): void; getOrSet(key: string, loader: () => Promise, ttlMs?: number): Promise; attachTags(key: string, tags: string[]): void; flushTags(tags: string[]): number; invalidate(key: string): boolean; invalidateByPrefix(prefix: string): number; clear(): void; size(): number; private detachKeyFromTags; private getFreshEntry; private pruneExpired; private evictOverflow; } export { SimpleCache }; export default SimpleCache;