//! gRPC API layer for Chainfire distributed KVS
//!
//! This crate provides:
//! - Generated protobuf types
//! - gRPC service implementations
//! - Client and server components

pub mod generated;
pub mod kv_service;
pub mod lease_service;
pub mod watch_service;
pub mod cluster_service;
pub mod internal_service;
pub mod raft_client;
pub mod conversions;

// Re-export generated types
pub use generated::chainfire::v1 as proto;
pub use generated::chainfire::internal as internal_proto;

// Re-export services
pub use kv_service::KvServiceImpl;
pub use lease_service::LeaseServiceImpl;
pub use watch_service::WatchServiceImpl;
pub use cluster_service::ClusterServiceImpl;
pub use internal_service::RaftServiceImpl;

// Re-export Raft client and config
pub use raft_client::{GrpcRaftClient, RetryConfig};
