import type { Cache, CacheOptions } from 'cachefactory'; import { CacheFactory } from 'cachefactory'; export interface ILocalStorage { getItem: (key: string) => void; removeItem: (key: string) => void; setItem: (key: string, value: any) => void; } export interface ICacheProxy { [key: string]: any; } export interface IStats { ageMax: number; ageMin: number; keys: number; } export interface ICacheOptions extends CacheOptions { onReset?: Function[]; } export interface ICache extends Cache { config: ICacheOptions; getStats: () => IStats; onReset?: Function[]; } export interface ICacheConfig { cacheFactory?: CacheFactory; disabled?: boolean; get?: (key: string) => string; initializers?: Function[]; maxAge?: number; onReset?: Function[]; version?: number; storageMode?: 'memory' | 'localStorage' | 'sessionStorage'; } export interface ICacheMap { [key: string]: ICache; } export declare class DeckCacheFactory { private static cacheFactory; private static caches; private static cacheProxy; static getStoragePrefix(key: string, version: number): string; private static buildCacheKey; private static bombCorruptedCache; private static clearPreviousVersions; private static getStats; static createCache(namespace: string, cacheId: string, cacheConfig: ICacheConfig): ICache; static clearCache(namespace: string, key: string): void; static getCache(namespace?: string, cacheId?: string): ICache; }