//! Use [`ditto.set_transport_config`]\([`TransportConfig`]) to configure the transports for your
//! [`Ditto`] peer.
//!
//! [`ditto.set_transport_config`]: crate::Ditto::set_transport_config
//! [`TransportConfig`]: crate::transport::TransportConfig

use_prelude!();

pub(crate) mod transport_config;
pub(crate) mod v2;
pub(crate) mod v3;

// TODO(v5): Remove this stub that's standing in for
// the now-deleted sync::TransportSync
#[doc(hidden)]
#[deprecated(note = "TransportSync is an implementation detail and has no public use")]
pub struct TransportSync {
    _private: (),
}

pub use transport_config::{
    BluetoothLEConfig, Connect, Global, HttpListenConfig, LanConfig, Listen, PeerToPeer,
    TcpListenConfig, TransportConfig,
};
#[doc(hidden)]
#[deprecated(note = "Use `dittolive_ditto::presence::Connection` instead")]
pub use v3::Connection;
#[doc(hidden)]
#[allow(deprecated)]
pub use v3::ConnectionType as V3ConnectionType;
#[doc(hidden)]
#[deprecated(note = "Use `dittolive_ditto::presence::Peer` instead")]
pub use v3::Peer;
#[doc(hidden)]
#[deprecated(note = "Use `dittolive_ditto::presence::PresenceGraph` instead")]
pub use v3::PresenceGraph;
#[doc(hidden)]
#[deprecated(note = "Use `dittolive_ditto::presence::PresenceOs` instead")]
pub use v3::PresenceOs;

#[doc(hidden)]
#[deprecated(note = "Use `dittolive_ditto::presence::ConnectionType` instead")]
pub use crate::presence::ConnectionType;
