export interface CacheEntry<T> {
  key: string;
  value: T;
  expiresAt: number;
}

export interface CacheContract {
  name: string;
  keyPattern: string;
  ttlSeconds: number;
  sourceOfTruth: string;
  invalidation: string;
}

export interface CacheMetrics {
  hits: number;
  misses: number;
  invalidations: number;
  hitRatio(): number;
}
