<?php

namespace App\Billing\Event;

use App\Billing\Entity\Invoice;

/**
 * صورتحساب نهایی شد. مصرف‌کننده‌ها اثرات جانبیِ نهایی‌شدن (مثل ساخت مطالبهٔ بیمه) را
 * از اینجا می‌گیرند تا هر مسیری که صورتحساب را نهایی می‌کند خودش مجبور نباشد آن‌ها را
 * تکرار کند — همان چیزی که نبودش باعث می‌شد صورتحساب‌های بیمه‌دار بدون مطالبه بمانند.
 */
final readonly class InvoiceFinalized
{
    public function __construct(public Invoice $invoice) {}
}
