#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TAttribute {
#[prost(string, required, tag = "1")]
pub key: ::prost::alloc::string::String,
#[prost(bytes = "vec", required, tag = "2")]
pub value: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TAttributeDictionary {
#[prost(message, repeated, tag = "1")]
pub attributes: ::prost::alloc::vec::Vec<TAttribute>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TAttributeFilter {
#[prost(string, repeated, tag = "1")]
pub keys: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "2")]
pub paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TReadRequestComplexityLimits {
#[prost(int64, optional, tag = "1")]
pub node_count: ::core::option::Option<i64>,
#[prost(int64, optional, tag = "2")]
pub result_size: ::core::option::Option<i64>,
}