//! Synor Storage SDK
//!
//! Decentralized storage, pinning, and content retrieval on the Synor network.
//!
//! # Quick Start
//!
//! ```rust,no_run
//! use synor_compute::storage::{SynorStorage, UploadOptions, PinRequest};
//!
//! #[tokio::main]
//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
//!     let client = SynorStorage::new("your-api-key");
//!
//!     // Upload content
//!     let result = client.upload(b"Hello, World!", None).await?;
//!     println!("CID: {}", result.cid);
//!
//!     // Pin content
//!     let pin = client.pin(PinRequest::new(&result.cid).name("my-file")).await?;
//!     println!("Pin status: {:?}", pin.status);
//!
//!     // Get gateway URL
//!     let gateway = client.get_gateway_url(&result.cid, None);
//!     println!("URL: {}", gateway.url);
//!
//!     // Download content
//!     let data = client.download(&result.cid, None).await?;
//!     println!("Content: {}", String::from_utf8_lossy(&data));
//!
//!     Ok(())
//! }
//! ```

mod types;
mod error;
mod client;

pub use types::*;
pub use error::{StorageError, Result};
pub use client::SynorStorage;
