//! Cache module for storing video metadata and downloaded files.
//!
//! This module provides a tiered caching architecture with L1 (in-memory) and L2 (persistent)
//! layers. Users can enable any combination of:
//!
//! - **No cache**: Disable all cache features
//! - **Moka only** (`cache-memory`): Fast in-memory cache with TTL eviction
//! - **Persistent only** (`cache-json`, `cache-redb`, or `cache-redis`): Durable storage
//! - **Moka + persistent**: L1 memory cache backed by L2 persistent storage
//!
//! Multiple persistent backends can be compiled in simultaneously. If exactly one persistent
//! feature is enabled, it is selected automatically. If several are enabled,
//! `CacheConfig::persistent_backend` must be set explicitly.
// Re-export store modules for backward compatibility
// Re-export main types
pub use CacheConfig;
pub use PersistentBackendKind;
pub use DownloadCache;
pub use CacheLayer;
// Re-export common structures
pub use CachedPlaylist;
pub use PlaylistCache;
pub use ;
pub use ;
// Common types and traits
pub use crate;