use serde::{Deserialize, Serialize};
use super::CommandOutput;
use crate::SessionName;
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct AttachSessionResponse {
pub session_name: SessionName,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct SwitchClientResponse {
pub session_name: SessionName,
}
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Serialize, Deserialize)]
pub struct DetachClientResponse;
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct RefreshClientResponse {
pub target_client: String,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct ListClientsResponse {
pub output: CommandOutput,
pub match_count: usize,
}
impl ListClientsResponse {
#[must_use]
pub const fn command_output(&self) -> &CommandOutput {
&self.output
}
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct SuspendClientResponse {
pub target_client: String,
}