use super::git::CheckoutInfo;
use super::git::WorktreeStatus;
use super::info::ProjectInfo;
use super::info::Visibility;
use super::info::WorktreeHealth;
use super::paths::AbsolutePath;
use super::paths::DisplayPath;
use super::paths::RootDirectoryName;
pub(crate) trait ProjectFields {
fn path(&self) -> &AbsolutePath;
fn name(&self) -> Option<&str>;
fn visibility(&self) -> Visibility;
fn worktree_health(&self) -> WorktreeHealth;
fn disk_usage_bytes(&self) -> Option<u64>;
fn git_info(&self) -> Option<&CheckoutInfo>;
fn info(&self) -> &ProjectInfo;
fn display_path(&self) -> DisplayPath;
fn root_directory_name(&self) -> RootDirectoryName;
fn worktree_status(&self) -> &WorktreeStatus;
fn crates_io_name(&self) -> Option<&str> { None }
}