export interface CacheConfig { type: 'memory' | 'redis'; redis?: { host: string; port: number; password?: string; db?: number; }; maxKeys?: number; defaultTTL?: number; checkPeriod?: number; } export interface CacheBackend { get(key: string): Promise; set(key: string, value: unknown, ttl?: number): Promise; delete(key: string): Promise; has(key: string): Promise; clear(): Promise; }