use crate::error::Error;
use crate::tlv::{TLVWriter, TagType, ToTLV};
mod attribute;
pub use attribute::*;
mod cluster;
pub use cluster::*;
mod endpoint;
pub use endpoint::*;
mod node;
pub use node::*;
mod privilege;
pub use privilege::*;
mod encoder;
pub use encoder::*;
mod handler;
pub use handler::*;
mod dataver;
pub use dataver::*;
mod metadata;
pub use metadata::*;
pub type EndptId = u16;
pub type ClusterId = u32;
pub type AttrId = u16;
pub type CmdId = u32;
#[derive(Debug, ToTLV, Copy, Clone)]
pub struct DeviceType {
pub dtype: u16,
pub drev: u16,
}