use std::io::{Read, Seek};
use crate::error::Result;
pub trait Resource {
fn path_metadata(&self, path: &str) -> Option<(u8, u8)>;
fn version(&self, repository: u8) -> Result<String>;
type Index: Read + Seek;
fn index(&self, repository: u8, category: u8, chunk: u8) -> Result<Self::Index>;
type Index2: Read + Seek;
fn index2(&self, repository: u8, category: u8, chunk: u8) -> Result<Self::Index2>;
type Dat: Read + Seek;
fn dat(&self, repository: u8, category: u8, chunk: u8, dat: u8) -> Result<Self::Dat>;
}