import { StorageKey, StorageKeyType } from '../../core/storage/utils/storage-key'; export interface CacheMetadata { createdAt: number; updatedAt: number; expiresAt: number; tags?: string[]; } export interface CacheOptions { ttl?: number; cleanup?: { enabled: boolean; interval?: number; }; invalidateOnError?: boolean; } export interface CacheEntry = any> { data: Data; metadata: CacheMetadata; params: Params; } export declare class CacheUtils { static createMetadata(ttl?: number, tags?: string[]): CacheMetadata; /** ISO timestamps are derived lazily (for logging/debugging) instead of being stored in the cache payload. */ static formatDateTime(timestamp: number): string; static isExpired(metadata: CacheMetadata): boolean; static updateMetadata(metadata: CacheMetadata): CacheMetadata; static createKey(...parts: (string | number)[]): StorageKey; static createApiKey(endpoint: string, params?: Record): [StorageKeyType, Record | undefined]; static hasAnyTag(metadata: CacheMetadata, tags?: string[]): boolean; }