pub mod core;
pub mod discovery;
pub mod encryption;
pub mod gateway;
pub mod proxy;
pub mod relay;
pub mod signer;
pub mod transport;
#[cfg(feature = "rmcp")]
pub mod rmcp_transport;
pub use core::error::{Error, Result};
pub use core::types::{
CapabilityExclusion, ClientSession, EncryptionMode, GiftWrapMode, JsonRpcError,
JsonRpcErrorResponse, JsonRpcMessage, JsonRpcNotification, JsonRpcRequest, JsonRpcResponse,
ServerInfo,
};
pub use discovery::ServerAnnouncement;
#[cfg(any(test, feature = "test-utils"))]
pub use relay::mock::MockRelayPool;
pub use relay::{RelayPool, RelayPoolTrait};
pub use transport::client::{
ClientCorrelationStore, NostrClientTransport, NostrClientTransportConfig,
};
pub use transport::discovery_tags::{DiscoveredPeerCapabilities, PeerCapabilities};
pub use transport::server::{
IncomingRequest, NostrServerTransport, NostrServerTransportConfig, RouteEntry,
ServerEventRouteStore, SessionSnapshot, SessionStore,
};
#[cfg(feature = "rmcp")]
pub use rmcp;