#[cfg(feature = "treasury")]
pub mod treasury;
use std::error::Error;
use futures::future::BoxFuture;
use crate::AssetId;
pub struct AssetData {
pub bytes: Box<[u8]>,
pub version: u64,
}
pub trait Source: Send + Sync + 'static {
type Error: Error + Send + Sync;
fn find(&self, path: &str, asset: &str) -> BoxFuture<Option<AssetId>>;
fn load(&self, id: AssetId) -> BoxFuture<Result<Option<AssetData>, Self::Error>>;
fn update(
&self,
id: AssetId,
version: u64,
) -> BoxFuture<Result<Option<AssetData>, Self::Error>>;
}