<?php

namespace App\Core\Contracts\Ai;

/**
 * Abstraction for AI providers (OpenAI, Azure, local models, etc.).
 * Swap implementation via the service container without changing domain services.
 */
interface AiCompletionPort
{
    /**
     * @return array{response: string, tokens_used: int}
     */
    public function complete(string $prompt, ?int $userId): array;
}
