use std::cell::RefCell;
use js_sys::Uint8Array;
use mlt_core::v01::{OwnedGeometry, OwnedProperty};
use crate::geometry::LayerGeometry;
use crate::ids::IdState;
use crate::properties::PropCache;
pub(crate) struct DecodedLayer {
pub(crate) name: String,
pub(crate) extent: u32,
pub(crate) types_array: Uint8Array,
pub(crate) geometry: RefCell<OwnedGeometry>,
pub(crate) geometry_cache: RefCell<Option<LayerGeometry>>,
pub(crate) ids: RefCell<IdState>,
pub(crate) props: RefCell<Vec<OwnedProperty>>,
pub(crate) prop_cache: RefCell<Option<PropCache>>,
}