type CacheEntry = { value: T; expiresAt?: number; }; interface CacheStore { get(key: string): Promise | null>; set(key: string, value: CacheEntry): Promise; all(): Promise>>; delete(key: string): Promise; } export declare class MemoryStore implements CacheStore { private store; get(key: string): Promise | null>; set(key: string, value: CacheEntry): Promise; all(): Promise>>; delete(key: string): Promise; } export declare class LocalStorageStore implements CacheStore { get(key: string): Promise | null>; set(key: string, value: CacheEntry): Promise; all(): Promise>>; delete(key: string): Promise; } export declare class ChromeStore implements CacheStore { get(key: string): Promise | null>; set(key: string, value: CacheEntry): Promise; all(): Promise>>; delete(key: string): Promise; } export declare class Cache { private store; private didCheckExpired; constructor(store: CacheStore); get(key: string): Promise; set(key: string, value: T, ttl?: number): Promise; delete(key: string): Promise; private checkExpired; } export {};