#![cfg_attr(docsrs, feature(doc_cfg))]
pub mod enumeration;
pub mod error;
pub mod field;
pub mod file;
pub mod message;
pub mod oneof;
pub mod pool;
mod pool_build;
pub mod reflect;
pub mod service;
#[cfg(feature = "dynamic")]
pub mod dynamic;
#[cfg(feature = "derive")]
pub use buffa_reflect_derive::ReflectMessage;
#[cfg(feature = "serde")]
pub use crate::dynamic::{DeserializeOptions, SerializeOptions};
#[cfg(feature = "dynamic")]
pub use crate::dynamic::{
DynamicMessage, MapKey, SetFieldError, UnknownField, UnknownFieldSet, Value,
};
#[cfg(feature = "text-format")]
pub use crate::dynamic::{FormatOptions, ParseError, ParseErrorKind};
pub use crate::{
enumeration::{EnumDescriptor, EnumValueDescriptor},
error::DescriptorError,
field::{Cardinality, FieldDescriptor, Kind},
file::FileDescriptor,
message::MessageDescriptor,
oneof::OneofDescriptor,
pool::DescriptorPool,
reflect::{ReflectMessage, ReflectMessageView},
service::{MethodDescriptor, ServiceDescriptor},
};