use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, PartialEq, Eq)]
pub enum EntryKind {
    File,
    Dir,
}

#[derive(Debug, Clone)]
pub struct DirEntry {
    pub name: String,
    pub kind: EntryKind,
    pub object_id: String,
}

#[derive(Debug, Clone)]
pub enum FileChange {
    Added(String),
    Modified(String),
    Deleted(String),
}

#[derive(Debug, Serialize, Deserialize)]
pub struct BlobRef {
    #[serde(rename = "$vgcs_ref")]
    pub vgcs_ref: String, // "v1"
    pub sha256: String,
    pub size: u64,
    pub mime_type: String,
    pub original_name: String,
}

