//! Core types for Chainfire distributed Key-Value Store
//!
//! This crate contains all shared type definitions used across the Chainfire system:
//! - Node identification and metadata
//! - Key-Value entry representation with MVCC versioning
//! - Raft commands and responses
//! - Lease types for TTL-based key expiration
//! - Watch event types
//! - Error types

pub mod command;
pub mod error;
pub mod kv;
pub mod lease;
pub mod node;
pub mod watch;

pub use command::{RaftCommand, RaftResponse};
pub use error::{Error, Result};
pub use kv::{KvEntry, Revision};
pub use lease::{Lease, LeaseData, LeaseId};
pub use node::{NodeId, NodeInfo, NodeRole, RaftRole};
pub use watch::{WatchEvent, WatchEventType, WatchRequest};
