noah_sdk/
lib.rs

1//! # Noah SDK
2//!
3//! A modern, type-safe Rust SDK for the Noah Business API.
4//!
5//! ## Features
6//!
7//! - **Async and Sync Support**: Use async/await or blocking operations
8//! - **Type Safety**: Strongly typed models generated from OpenAPI schema
9//! - **Dual Authentication**: Support for both JWT signing and API key authentication
10//! - **Comprehensive Error Handling**: Detailed error types with context
11//!
12//! ## Quick Start
13//!
14//! ```no_run
15//! use noah_sdk::{NoahClient, Config, Environment, AuthConfig};
16//!
17//! # #[cfg(feature = "async")]
18//! # async fn example() -> Result<(), Box<dyn std::error::Error>> {
19//! let config = Config::new(Environment::Sandbox);
20//! let auth = AuthConfig::with_api_key("your-api-key".to_string());
21//! let client = NoahClient::new(config, auth)?;
22//!
23//! let balances = client.get_balances(None, None).await?;
24//! println!("Balances: {:?}", balances);
25//! # Ok(())
26//! # }
27//! ```
28//!
29//! ## Documentation
30//!
31//! See the [documentation](https://docs.rs/noah-sdk) for detailed API reference.
32
33pub mod api;
34pub mod auth;
35pub mod client;
36pub mod config;
37pub mod error;
38pub mod models;
39
40pub use auth::AuthConfig;
41pub use client::NoahClient;
42pub use config::{Config, Environment};
43pub use error::{NoahError, Result};
44
45// Re-export API modules
46pub use api::{
47    balances, channels, checkout, customers, onboarding, payment_methods, transactions, workflows,
48};