<?php

namespace ZenoChatbot\Services\LLMService\AIClient\Providers;

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

class Gemini implements ProviderInterface
{
    /** API base URLs and endpoint details */
    public const API_BASE = 'https://generativelanguage.googleapis.com';
    public const API_V1 = 'https://generativelanguage.googleapis.com/v1';
    public const API_V1BETA = 'https://generativelanguage.googleapis.com/v1beta';
    public const GENERATE_CONTENT_SUFFIX = ':generateContent';

    public const MODEL_3_5_FLASH = 'gemini-3.5-flash';
    public const MODEL_3_1_PRO = 'gemini-3.1-pro';
    public const MODEL_3_1_FLASH_LITE = 'gemini-3.1-flash-lite';
    public const MODEL_2_5_PRO = 'gemini-2.5-pro';
    public const MODEL_2_5_FLASH = 'gemini-2.5-flash';
    public const MODEL_2_5_FLASH_LITE = 'gemini-2.5-flash-lite';


    public function text(): \ZenoChatbot\Services\LLMService\AIClient\Providers\Adapters\AdapterInterface
    {
        return new \ZenoChatbot\Services\LLMService\AIClient\Providers\Adapters\GeminiTextModel();
    }

}

