<?php

namespace GriffinForms\Includes\Ai\Contracts;

interface AiClientInterface
{
    /**
     * Triggers the AI request natively using the provider's mechanism.
     * 
     * @param string $prompt  The compiled user/system prompt.
     * @param array  $context Modifiers, system context rules, or additional parameters.
     * 
     * @return array Standardized array e.g., ['success' => true, 'content' => '...', 'raw' => []]
     * @throws \GriffinForms\Includes\Ai\Exceptions\AiBrokerError
     */
    public function request(string $prompt, array $context = []): array;
}
