export interface CachePolicy { staleMs: number; expireMs: number; } export type CachePolicyMap = Partial>; interface PersistedResourceMetadata { fetchedAt: number; staleAt: number; expiresAt: number; sourceKey: string; schemaVersion: number; } export interface PersistedResourceValue extends PersistedResourceMetadata { value: T; provenance?: unknown | null; stale?: boolean; expired?: boolean; }