<?php

namespace Bixo\Payment\Events;

use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
use Bixo\Payment\Models\Invoice;

class InvoiceWorkflow
{
    use Dispatchable, InteractsWithSockets, SerializesModels;

    /**
     * Create a new event instance.
     */
    public function __construct(
        public string $transition,
        public Invoice $invoice,
        public array $request = [],
        public string $when = 'after'
    ) {
    }
}