use crate::{
nns::{
governance::NnsGovernanceCacheMetadata,
neuron::report::{collection::NnsNeuronCollectionState, model::NnsNeuronRow},
},
snapshot_cache::SnapshotEnvelope,
};
use serde::{Deserialize as SerdeDeserialize, Serialize};
pub(super) type NnsNeuronCache = SnapshotEnvelope<NnsGovernanceCacheMetadata, NnsNeuronCacheRows>;
#[derive(Clone, Debug, Eq, PartialEq, SerdeDeserialize, Serialize)]
#[serde(deny_unknown_fields)]
pub(super) struct NnsNeuronCacheRows {
pub(super) collection_state: NnsNeuronCollectionState,
pub(super) neurons: Vec<NnsNeuronRow>,
}