export interface Cache { get: (key: string) => Promise; set: (key: string, value: any, ttl: number) => Promise; } export interface CacheConfig { cache: Cache; ttl: number; cacheKeyPrefix?: string; }