use crate::conversions::{Output, Result};
use openapi_types::yaml::ToOpenApi;
use std::fmt::{Debug, Display};
use std::path::Path;
pub trait Converter: Debug + Clone + Sized + Send + Sync + 'static {
type OpenApiType: ToOpenApi + Debug + Send + Sync;
type TargetType: Display + Debug + Send + Sync;
fn convert(&self, src: Self::OpenApiType) -> Result<Output<Self::TargetType>>;
fn format_code(&self, path: &Path) -> Result<String>;
}