<?php

namespace Modules\PortalApi\Services\Sms;

/**
 * Pluggable SMS sender for portal OTPs.
 *
 * Add a Twilio / Vonage / local-aggregator driver as a sibling class
 * implementing this interface, then bind it in PortalApiServiceProvider:
 *
 *     $this->app->bind(PortalSmsGateway::class, TwilioSmsGateway::class);
 */
interface PortalSmsGateway
{
    /**
     * Deliver a one-time code over SMS. Returning false signals a delivery
     * failure but never the wrong code (verify is always backend-side).
     */
    public function sendOtp(string $phone, string $code, int $ttlMinutes): bool;
}
