#[cfg(feature = "tmdb")]
pub mod generated;
#[cfg(feature = "cache")]
pub mod cache;
pub mod core;
pub mod providers;
pub mod unified;
pub use core::error::CameoError;
pub use core::{
config::TimeWindow,
pagination::{PaginatedResponse, into_stream},
};
#[cfg(feature = "cache")]
pub use cache::{CacheBackend, CacheError, CacheKey, CacheTtlConfig, MediaType, SqliteCache};
#[cfg(feature = "anilist")]
pub use providers::anilist::error::AniListGqlError;
#[cfg(feature = "anilist")]
pub use providers::anilist::{AniListClient, AniListConfig, AniListError};
#[cfg(feature = "tmdb")]
pub use providers::tmdb::{TmdbClient, TmdbConfig, TmdbError};
pub use unified::{
CameoClient, CameoClientBuilder, CameoClientError, DetailProvider, DiscoveryProvider, Genre,
MediaProvider, RecommendationProvider, SearchProvider, SeasonProvider, UnifiedEpisode,
UnifiedMovie, UnifiedMovieDetails, UnifiedPerson, UnifiedPersonDetails, UnifiedSearchResult,
UnifiedSeasonDetails, UnifiedStreamingService, UnifiedTvShow, UnifiedTvShowDetails,
UnifiedWatchProviderEntry, UnifiedWatchProviders, UnknownGenre, WatchProviderTrait,
};