<?php

namespace Limb_Chatbot\Includes\Interfaces;

use Limb_Chatbot\Includes\Utilities\Chatbot_Utility;

interface Recommendation_Question_Flow_Interface {
	/**
	 * @param  array<int, mixed>  $products
	 * @param  array<string, mixed>  $filters
	 *
	 * @return array{
	 *   products: array<int, mixed>,
	 *   parameter: mixed|null,
	 *   question_text: string,
	 *   metadata_groups: array<string, mixed>,
	 *   should_continue: bool
	 * }
	 */
	public function evaluate(
		array $products,
		string $query,
		array $filters,
		Chatbot_Utility $utility
	): array;
}
