1#![allow(missing_docs)]
3
4#[cfg(feature = "chrono")]
5pub use ::chrono;
6
7#[cfg(not(feature = "chrono"))]
8pub mod chrono_stub;
9#[cfg(not(feature = "chrono"))]
10pub use chrono_stub as chrono;
11
12pub mod details;
13pub mod error;
14pub mod events;
15pub mod files;
16pub mod filter_types;
17pub mod ids;
18pub mod image;
19pub mod image_events;
20pub mod library;
21pub mod media;
22pub mod media_events;
23pub mod media_id;
24pub mod media_type;
25pub mod numbers;
26pub mod prelude;
27pub mod rate_limit;
28#[cfg(feature = "rkyv")]
29pub mod rkyv_wrappers;
30pub mod scan;
31pub mod subject_key;
32pub mod titles;
33pub mod transcoding;
34pub mod urls;
35pub mod watch;
36
37#[cfg(feature = "rkyv")]
39pub use details::ArchivedCastMember;
40pub use details::{
41 EnhancedMovieDetails, EnhancedSeriesDetails, EpisodeDetails, GenreInfo,
42 LibraryReference, NetworkInfo, ProductionCompany, ProductionCountry,
43 SeasonDetails, SpokenLanguage, TmdbDetails,
44};
45pub use error::{ModelError, Result as ModelResult};
46pub use files::{MediaFile, MediaFileMetadata, ParsedMediaInfo};
47pub use filter_types::{UiDecade, UiGenre, UiResolution, UiWatchStatus};
48pub use ids::{
49 EpisodeID, LibraryId, MovieBatchId, MovieID, MovieReferenceBatchSize,
50 SeasonID, SeriesID,
51};
52pub use image::{
53 BackdropSize, EpisodeSize, ImageSize, PosterSize, ProfileSize,
54};
55pub use image::{ImageRequest, Priority};
56pub use image_events::ImageReadyEvent;
57#[cfg(feature = "rkyv")]
58pub use library::{ArchivedLibrary, ArchivedLibraryExt, ArchivedLibraryType};
59pub use library::{Library, LibraryLike, LibraryLikeMut, LibraryType};
60#[cfg(feature = "rkyv")]
61pub use media::{
62 ArchivedEpisodeReference, ArchivedMedia, ArchivedMovieReference,
63 ArchivedSeasonReference, ArchivedSeries,
64};
65pub use media::{
66 EpisodeReference, Media, MovieReference, SeasonReference, Series,
67};
68pub use media_events::{
69 MediaEvent, ScanEventMetadata, ScanProgressEvent, ScanStageLatencySummary,
70};
71#[cfg(feature = "rkyv")]
72pub use media_id::ArchivedMediaID;
73pub use media_id::MediaID;
74pub use media_type::ImageMediaType;
75pub use media_type::VideoMediaType;
76pub use rate_limit::{
77 EndpointLimits, RateLimitAlgorithm, RateLimitKey, RateLimitRule,
78 TrustedSources,
79};
80pub use subject_key::{NormalizedPathKey, OpaqueSubjectKey, SubjectKey};
81pub use transcoding::{
82 TranscodingJobResponse, TranscodingProgressDetails, TranscodingStatus,
83};
84pub use watch::{
85 EpisodeKey, EpisodeStatus, NextEpisode, NextReason, SeasonKey,
86 SeasonWatchStatus, SeriesWatchStatus,
87};