<?php

namespace App\Services\Sms;

use App\Models\SmsProfile;

interface SmsClient
{
    /**
     * Sends an SMS message using the given profile credentials.
     */
    public function send(SmsProfile $profile, SmsMessage $message): SmsResult;

    /**
     * Returns current credit balance as an integer (normalized provider value).
     */
    public function getCreditBalance(SmsProfile $profile): int;

    /**
     * Returns price quote(s) as an array of strings (provider can return multiple separated by ##).
     */
    public function getPriceQuotes(SmsProfile $profile): array;
}
