pub mod episode;
pub mod error;
pub mod feed;
pub mod http;
pub mod metadata;
pub mod progress;
pub mod state;
pub mod sync;
pub use episode::{
DownloadContext, DownloadResult, download_episode, generate_filename, generate_filename_stem,
get_audio_extension,
};
pub use error::{DownloadError, FeedError, MetadataError, StateError, SyncError};
pub use feed::{Enclosure, Episode, Podcast, fetch_feed, is_url, parse_feed, parse_feed_file};
pub use http::{HttpClient, HttpResponse, ReqwestClient};
pub use metadata::{
EpisodeMetadata, PodcastMetadata, read_episode_metadata, read_podcast_metadata,
write_episode_metadata, write_podcast_metadata,
};
pub use progress::{NoopReporter, ProgressEvent, ProgressReporter, SharedProgressReporter};
pub use state::{OutputState, SyncPlan, create_sync_plan, scan_output_dir};
pub use sync::{SyncOptions, SyncResult, sync_podcast};