//! Network connectivity and communication utilities.
//!
//! This module provides tools for network operations including:
//!
//! - **TCP Connectivity** (`tcp`): Check TCP port availability, ping hosts, test connectivity
//! - **HTTP/HTTPS** (`http`): Check URLs, verify status codes, download content
//! - **SSH** (`ssh`): SSH connections, file transfers, key management
//! - **Network Diagnostics**: Port scanning, health checks, network diagnostics
//!
//! # Key Types
//!
//! - [`TcpConnector`]: TCP connectivity and port checking
//! - [`HttpConnector`]: HTTP/HTTPS request handling
//! - [`SshConnection`]: SSH connection management
//! - [`FileTransferOps`]: SSH file transfer operations
//!
//! # Examples
//!
//! ```no_run
//! use herolib_os::net::{TcpConnector, HttpConnector};
//!
//! // Check if a port is open
//! let tcp = TcpConnector::new();
//! if tcp.check_port_by_name("example.com", 443)? {
//!     println!("Port 443 is open");
//! }
//!
//! // Check if a URL is reachable
//! let http = HttpConnector::new();
//! if http.check_url("https://example.com")? {
//!     println!("Website is reachable");
//! }
//!
//! # Ok::<(), Box<dyn std::error::Error>>(())
//! ```

pub mod http;
pub mod rhai;
pub mod tcp;
pub mod ssh;

// Re-export main types for a cleaner API
pub use http::HttpConnector;
pub use tcp::TcpConnector;
pub use ssh::{SshConnection, SshConnectionBuilder, SshKeyGenerator, AuthorizedKeysManager, FileTransferOps};
