import type { CacheInterface } from './types/index.js'; export declare const createInMemoryCache: () => CacheInterface; export declare const cacheClear: (cache: CacheInterface | null, epoch: number) => Promise; export declare const cacheFullKey: (namespace: string, key: string) => string; export declare const cacheGet: (cache: CacheInterface | null, namespace: string, epoch: number, key: string) => Promise; export declare const cacheSet: (cache: CacheInterface | null, namespace: string, epoch: number, key: string, value: unknown) => Promise; export declare const cacheDelete: (cache: CacheInterface | null, namespace: string, epoch: number, key: string) => Promise; export declare const cacheGetTyped: (cache: CacheInterface | null, namespace: string, epoch: number, key: string, guard: (v: unknown) => v is T) => Promise; export type CacheNamespaceAccessor = { get: (epoch: number, key: string) => Promise; getTyped: (epoch: number, key: string, guard: (v: unknown) => v is T) => Promise; set: (epoch: number, key: string, value: unknown) => Promise; delete: (epoch: number, key: string) => Promise; }; export declare const createCacheNamespace: (cache: CacheInterface | null, namespace: string) => CacheNamespaceAccessor; export type CacheEpochTracker = { noteEpoch: (epoch: number) => Promise; noteEpochs: (epochs: readonly number[]) => Promise; }; export declare const createCacheEpochTracker: (cache: CacheInterface | null, options: { maxSavedEpochs: number; persistentEpoch?: number; }) => CacheEpochTracker; export declare const pruneMap: (map: Map, maxEntries: number) => void; export declare const buildSettlementStatusKey: (settlements: readonly { chainId: number; address: string; }[]) => string; export declare const buildSettlementKey: (settlement: { chainId: number; address: string; }) => string; //# sourceMappingURL=cache.d.ts.map