use std::path::PathBuf;
use clap::Args;
use super::super::schema::SchemaKind;
#[derive(Debug, Args)]
pub(in crate::cli) struct SchemaArgs {
#[arg(long, conflicts_with_all = ["schema", "output", "list_json", "validate"])]
pub(in crate::cli) list: bool,
#[arg(long, conflicts_with_all = ["schema", "output", "list", "validate"])]
pub(in crate::cli) list_json: bool,
#[arg(value_enum)]
pub(in crate::cli) schema: Option<SchemaKind>,
#[arg(long, requires = "schema")]
pub(in crate::cli) output: Option<PathBuf>,
#[arg(long, alias = "quiet")]
pub(in crate::cli) no_print: bool,
#[arg(long, requires = "schema", conflicts_with_all = ["list", "list_json"])]
pub(in crate::cli) validate: Option<PathBuf>,
}