/** * Generate schema.org `Recipe` JSON-LD, with support for `HowToStep` * instructions and `ItemList` ingredients. * * Accepts recipe metadata (times, yields, cuisine, ingredients, steps) * and will format steps as `HowToStep` objects and images as `ImageObject` * entries when provided. * * See `RecipeOptions` for the accepted input shape. * @returns A JSON-LD compatible `Recipe` object */ interface ImageRef { url: string; width?: number; height?: number; } interface PersonRef { name: string; url?: string; } interface HowToStep { name?: string; text: string; image?: string | ImageRef; url?: string; } interface AggregateRating { ratingValue: number | string; reviewCount?: number; } interface RecipeOptions { name: string; description?: string; image?: string | ImageRef; author?: string | PersonRef; recipeYield?: string; prepTime?: string; cookTime?: string; totalTime?: string; recipeCategory?: string | string[]; recipeCuisine?: string | string[]; keywords?: string | string[]; recipeIngredient?: string[]; recipeInstructions?: HowToStep[]; aggregateRating?: AggregateRating; } declare const generateRecipeSchema: ({ name, description, image, author, recipeYield, prepTime, cookTime, totalTime, recipeCategory, recipeCuisine, keywords, recipeIngredient, recipeInstructions, aggregateRating, }: RecipeOptions) => any; export { generateRecipeSchema };