<?php

namespace App\Modules\Twilio\Services;

interface TwilioServiceInterface
{
    /**
     * Send SMS message
     */
    public function sendSMS(string $to, string $message, ?string $from = null): array;

    /**
     * Send SMS with task context
     */
    public function sendTaskSMS(int $taskId, string $to, string $message): array;

    /**
     * Send completion notification SMS
     */
    public function sendCompletionSMS(int $taskId, string $to, string $message): array;

    /**
     * Test SMS configuration
     */
    public function testSMS(string $to, string $message): array;

    /**
     * Get SMS delivery status
     */
    public function getDeliveryStatus(string $messageSid): array;

    /**
     * Get SMS history
     */
    public function getSMSHistory(array $filters = []): array;

    /**
     * Validate phone number format
     */
    public function validatePhoneNumber(string $phoneNumber): bool;

    /**
     * Format phone number for Twilio
     */
    public function formatPhoneNumber(string $phoneNumber): string;
} 