import type { CacheEntry } from './domain/CacheEntry'; import type { CacheInfo } from './domain/CacheInfo'; import type { MemorizeBatchOptions } from './domain/MemorizeBatchOptions'; import type { MemorizeDeleteEvent } from './domain/MemorizeDeleteEvent'; import type { MemorizeEmptyEvent } from './domain/MemorizeEmptyEvent'; import type { MemorizeEventType } from './domain/MemorizeEventType'; import type { MemorizeEvictEvent } from './domain/MemorizeEvictEvent'; import type { MemorizeExpireEvent } from './domain/MemorizeExpireEvent'; import type { MemorizeInspectionOptions, MemorizeInspectionPage } from './domain/MemorizeInspection'; import type { MemorizeSetEvent } from './domain/MemorizeSetEvent'; import type { MemorizeStats } from './domain/MemorizeStats'; export interface MemorizeStoreOptions { maxEntries?: number; maxValueBytes?: number; maxTotalBytes?: number; sizeLimitAction?: 'skip' | 'throw'; } export type StoreEntryInput = Omit & { size?: number; }; export interface MemorizeStoreLike { on(event: MemorizeEventType.Set, handler: (e: MemorizeSetEvent) => void): () => void; on(event: MemorizeEventType.Delete, handler: (e: MemorizeDeleteEvent) => void): () => void; on(event: MemorizeEventType.Expire, handler: (e: MemorizeExpireEvent) => void): () => void; on(event: MemorizeEventType.Empty, handler: (e: MemorizeEmptyEvent) => void): () => void; on(event: MemorizeEventType.Evict, handler: (e: MemorizeEvictEvent) => void): () => void; off(event: MemorizeEventType.Set, handler: (e: MemorizeSetEvent) => void): void; off(event: MemorizeEventType.Delete, handler: (e: MemorizeDeleteEvent) => void): void; off(event: MemorizeEventType.Expire, handler: (e: MemorizeExpireEvent) => void): void; off(event: MemorizeEventType.Empty, handler: (e: MemorizeEmptyEvent) => void): void; off(event: MemorizeEventType.Evict, handler: (e: MemorizeEvictEvent) => void): void; /** Releases timers and other resources held by the store. Optional for custom stores. */ dispose?(): void; set(key: string, entry: StoreEntryInput, ttl?: number | null): void; get(key: string): CacheInfo | null; getAll(): Record; getAllAsync(options?: MemorizeBatchOptions): Promise>; /** Optional for backwards compatibility with custom stores. */ inspectAsync?(options?: MemorizeInspectionOptions): Promise; delete(key: string): boolean; deleteByTag(tag: string | string[]): number; deleteByTagAsync(tag: string | string[], options?: MemorizeBatchOptions): Promise; deleteMatching(pattern: string): number; deleteMatchingAsync(pattern: string, options?: MemorizeBatchOptions): Promise; clear(): void; clearAsync(options?: MemorizeBatchOptions): Promise; size(): number; byteSize(): number; getStats(): MemorizeStats; getRaw(key: string): CacheEntry | null; } //# sourceMappingURL=MemorizeStoreLike.d.ts.map