<?php
if (!defined('ABSPATH')) {
    exit;
}

/**
 * AI Platformvider Interface
 *
 * Defines the contract for AI service providers.
 *
 * @package    Kitsune_AI_Platform
 * @subpackage Kitsune_AI_Platform/includes/api
 */
interface Kitsune_AI_Platform_Provider_Interface {

    /**
     * Send a chat request to the provider.
     *
     * @param array $params API parameters (messages, temperature, etc.)
     * @return array Standardized response
     */
    public function chat($params);

    /**
     * Validate the provider API key.
     *
     * @param string $api_key
     * @return array Standardized connection test response
     */
    public function validate_key($api_key);

    /**
     * Generate embeddings for input text.
     *
     * @param array $params API parameters (model, input).
     * @return array Standardized response
     */
    public function embed($params);

    /**
     * Generate an image from a text prompt.
     *
     * @param string $prompt
     * @param array  $params API parameters (model, style, aspect_ratio, etc.)
     * @return array Standardized response
     */
    public function generate_image($prompt, $params);
}
