<?php
namespace App\Services\EInvoicing;
use App\Contracts\EInvoicing\EInvoiceProviderInterface;
use App\Models\CustomerInvoice;
use RuntimeException;
final class NullEInvoiceProvider implements EInvoiceProviderInterface
{
    public function validateConfiguration(array $configuration): array{return ['valid'=>false,'errors'=>['No accredited e-invoicing provider is configured.']];}
    public function validateInvoice(CustomerInvoice $invoice): array{return ['valid'=>false,'errors'=>['Provider not configured.']];}
    public function generatePayload(CustomerInvoice $invoice): string{throw new RuntimeException('E-invoicing provider not configured.');}
    public function submitInvoice(CustomerInvoice $invoice,string $idempotencyKey): array{throw new RuntimeException('Production e-invoice submission is disabled.');}
    public function retrieveStatus(string $providerMessageId): array{throw new RuntimeException('E-invoicing provider not configured.');}
    public function processWebhook(array $payload,array $headers): array{throw new RuntimeException('E-invoicing provider not configured.');}
    public function testCredentials(): array{return ['connected'=>false,'message'=>'Provider not configured.'];}
}
