use crate::{nutrition_information::NutritionInformation, restricted_diet::RestrictedDiet};
use std::time::Duration;
pub trait RecipeInformationProvider {
fn authors(&self) -> Option<Vec<String>>;
fn categories(&self) -> Option<Vec<String>>;
fn cook_time(&self) -> Option<Duration>;
fn cuisines(&self) -> Option<Vec<String>>;
fn description(&self) -> Option<String>;
fn image_url(&self) -> Option<String>;
fn ingredients(&self) -> Option<Vec<String>>;
fn instructions(&self) -> Option<Vec<String>>;
fn language(&self) -> Option<String>;
fn name(&self) -> Option<String>;
fn nutrition(&self) -> Option<NutritionInformation>;
fn prep_time(&self) -> Option<Duration>;
fn suitable_diets(&self) -> Option<Vec<RestrictedDiet>>;
fn total_time(&self) -> Option<Duration>;
fn yields(&self) -> Option<String>;
}