use crate::remote::types::{FetchResult, ImportResult, MirrorType, PushResult, RemoteConfig}; pub trait RemoteOps { fn remote_clone_import( &self, src: &str, config: &RemoteConfig, ) -> Result; fn remote_fetch(&self, config: &RemoteConfig) -> Result; fn remote_push( &self, config: &RemoteConfig, refspec: Option<&str>, ) -> Result; fn remote_set_mirror( &self, mirror_type: MirrorType, config: &RemoteConfig, ) -> Result<(), crate::Error>; fn remote_remove_remote(&self, name: &str) -> Result<(), crate::Error>; }