//! Tunnel provider trait and types.
//!
//! Defines the `TunnelProvider` async trait for exposing local ports
//! via public tunnel URLs (Cloudflare, ngrok, Tailscale, etc.).
use async_trait;
use crateResult;
/// Trait implemented by all tunnel providers.
///
/// Each provider manages a child process that creates a public URL
/// pointing to a local port. The lifecycle is: `start()` -> use URL -> `stop()`.