<?php

namespace GriffinForms\Includes\Ai\Contracts;

interface AiProviderInterface
{
    /**
     * Gets the logical name of the provider.
     */
    public function getName(): string;

    /**
     * Checks if the provider is currently available (e.g. keys are set).
     */
    public function isAvailable(): bool;

    /**
     * Retrieves the instantiated client for making requests.
     */
    public function getClient(): AiClientInterface;
}
