<?php
/**
 * Odysseo SEO — AI provider contract.
 *
 * @package    Odysseo
 * @author     Chandrabhan Shekhawat
 * @company    Gigai Kripa Services
 * @link       https://gigaikripaservices.com/
 * @copyright  Copyright (c) 2026, Gigai Kripa Services
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Each provider takes a title + content and returns the five SEO fields as an
 * associative array, or a WP_Error on failure.
 */
interface Odysseo_SEO_Provider_Interface {

	/**
	 * @param string $title    Post title.
	 * @param string $content  Plain-text post content.
	 * @param string $model    Model name.
	 * @param string $api_key  API key.
	 * @return array|WP_Error  Keys: seo_title, meta_description, focus_keywords, og_title, og_description.
	 */
	public function generate( $title, $content, $model, $api_key );
}
