#[cfg(feature = "local-db")]
mod catalog;
#[cfg(feature = "local-db")]
mod db;
mod error;
mod merge;
#[cfg(feature = "local-db")]
pub use merge::make_provenance;
pub use merge::{
MergeDecision, merge_canonical_episodes_by_effective_number, merge_episode_source_records,
merge_media, provider_weight,
};
mod model;
pub mod provider;
mod remote;
#[cfg(feature = "local-db")]
pub mod repository;
#[cfg(feature = "local-db")]
mod schema;
#[cfg(feature = "local-db")]
pub mod sync;
pub use error::{Error, Result};
pub use model::{
CanonicalEpisode, CanonicalMedia, EpisodeSourceRecord, ExternalId, FieldProvenance,
MediaDocument, MediaKind, SearchHit, SearchOptions, SourceName, SourcePayload, StoredEpisode,
StoredMedia,
};
pub use provider::{
AniListProvider, FetchPage, ImdbProvider, JikanProvider, KitsuProvider, Provider,
TvmazeProvider,
};
pub use remote::{EpisodeFetchCandidate, RemoteApi, RemoteCollection, RemoteSource};
pub use model::{PersistedSyncState, SyncCursor, SyncMode, SyncOutcome, SyncReport, SyncRequest};
#[cfg(feature = "local-db")]
pub use catalog::{RemoteCatalog, RemoteMetadataCollection};
#[cfg(feature = "local-db")]
pub use db::{AnimeDb, MetadataCollection};