//! # Convex Client
//! The official Rust client for [Convex](https://convex.dev).
//!
//! Convex is the backend application platform with everything you need to build
//! your product. Convex clients can subscribe to queries and perform mutations
//! and actions. Check out the [Convex Documentation](https://docs.convex.dev) for more information.
//!
//! # Usage
//! ## Native Rust development
//! To use Convex to create native Rust applications with [`tokio`], you can use
//! the [`ConvexClient`] struct directly. All you need is your deployment URL
//! from your existing project, and you can subscribe to queries and call
//! mutations. To make a new project, check out our [getting started guide](https://docs.convex.dev/get-started).
//!
//! ```no_run
//! use convex::ConvexClient;
//! use futures::StreamExt;
//!
//! #[tokio::main]
//! async fn main() -> anyhow::Result<()> {
//! let mut client = ConvexClient::new("https://cool-music-123.convex.cloud").await?;
//! client.mutation("sendMessage", maplit::btreemap!{
//! "body".into() => "Let it be.".into(),
//! "author".into() => "The Beatles".into(),
//! }).await?;
//! let mut sub = client.subscribe("listMessages", maplit::btreemap!{}).await?;
//! while let Some(result) = sub.next().await {
//! println!("{result:?}");
//! }
//! Ok(())
//! }
//! ```
//!
//! ## Extending client for other programming languages or frameworks.
//! To extend Convex into non-[`tokio`] frameworks,
//! you can use the [`base_client::BaseConvexClient`] to build something similar
//! to a [`ConvexClient`].
//!
//! Detailed examples of both use cases are documented for each struct.
pub use ExportContext;
pub use ;
pub use ;
pub use ;