#[cfg(feature = "cloud")]
mod cloud;
pub mod conflict;
#[cfg(feature = "cloud")]
mod worker;
#[cfg(feature = "cloud")]
pub use cloud::CloudStorage;
pub use conflict::{
Conflict, ConflictDetector, ConflictInfo, ConflictQueue, ConflictResolver, ConflictType,
MergeResult, Resolution, ResolutionStrategy, SyncMemoryVersion, ThreeWayMerge,
};
#[cfg(feature = "cloud")]
pub use worker::{get_sync_status, SyncWorker};
use chrono::{DateTime, Utc};
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum SyncDirection {
Push,
Pull,
Bidirectional,
}
#[derive(Debug, Clone)]
pub struct SyncEvent {
pub direction: SyncDirection,
pub started_at: DateTime<Utc>,
pub completed_at: Option<DateTime<Utc>>,
pub bytes_transferred: u64,
pub success: bool,
pub error: Option<String>,
}