use crate::security::Password;
use crate::ssh::known_hosts::StrictHostKeyChecking;
use crate::ssh::tokio_client::{SshConnectionConfig, SshConnectionConfigResolver};
use std::path::Path;
use std::sync::Arc;
#[derive(Clone)]
pub struct ConnectionConfig<'a> {
pub key_path: Option<&'a Path>,
pub strict_mode: Option<StrictHostKeyChecking>,
pub use_agent: bool,
pub use_password: bool,
#[cfg(target_os = "macos")]
pub use_keychain: bool,
pub timeout_seconds: Option<u64>,
pub connect_timeout_seconds: Option<u64>,
pub jump_hosts_spec: Option<&'a str>,
pub ssh_connection_config: Option<&'a SshConnectionConfig>,
pub ssh_connection_config_resolver: Option<&'a SshConnectionConfigResolver>,
pub ssh_password: Option<Arc<Password>>,
}