use std::path::PathBuf;
#[derive(
Clone, Copy, Debug, PartialEq, Eq, clap::ValueEnum, serde::Serialize, serde::Deserialize,
)]
pub enum ExportFormat {
Dot,
Mermaid,
}
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
clap::ValueEnum,
serde::Serialize,
serde::Deserialize,
Default,
)]
pub enum Granularity {
Symbol,
#[default]
File,
Package,
}
pub struct ExportParams {
pub format: ExportFormat,
pub granularity: Granularity,
pub root_filter: Option<PathBuf>,
pub symbol_filter: Option<String>,
pub depth: usize,
pub exclude_patterns: Vec<String>,
pub project_root: PathBuf,
#[allow(dead_code)]
pub stdout: bool,
}
pub struct ExportResult {
pub content: String,
pub node_count: usize,
pub edge_count: usize,
pub warnings: Vec<String>,
}