use futures::Stream;
use std::collections::HashMap;
use std::pin::Pin;
use crate::errors::ClaudeSDKError;
pub mod subprocess_cli;
#[async_trait::async_trait]
pub trait Transport {
async fn connect(&mut self) -> Result<(), ClaudeSDKError>;
async fn disconnect(&mut self) -> Result<(), ClaudeSDKError>;
#[allow(dead_code)]
async fn send_request(
&mut self,
_messages: Vec<HashMap<String, serde_json::Value>>,
_options: HashMap<String, serde_json::Value>,
) -> Result<(), ClaudeSDKError> {
Ok(())
}
fn receive_messages(&mut self) -> Pin<Box<dyn Stream<Item = Result<HashMap<String, serde_json::Value>, ClaudeSDKError>> + Send + '_>>;
#[allow(dead_code)]
fn is_connected(&self) -> bool;
}