<?php

declare(strict_types=1);

namespace App\Services\External;

/**
 * Переходник на один внешний платный сервис: читает его баланс.
 * Изоляция: fetch() НЕ бросает — любую ошибку (сеть/доступ/парсинг) заворачивает
 * в BalanceReading::fail(), чтобы падение одного сервиса не роняло плитку.
 */
interface BalanceProvider
{
    /** dadata | supplier | yandex_cloud */
    public function serviceKey(): string;

    public function fetch(): BalanceReading;
}
