//! Client module with trait hierarchy and implementations
//!
//! Provides abstraction layer for multiple backend types:
//! - Source clients: Gitea, Forgejo, GitHub (Git-based repositories)
//! - Distribution clients: OCI registries (Docker Hub, Harbor, Quay, ghcr.io)

pub mod factory;
pub mod forgejo;
pub mod github;
pub mod traits;
pub mod vault_resolver;

pub use factory::ClientFactory;
pub use forgejo::ForgejoClient;
pub use github::GitHubClient;
pub use traits::{
    BackendType, DistributionClient, ExtensionClient, LayerInfo, ManifestInfo, ReleaseAsset,
    ReleaseInfo, SourceClient,
};
