<?php  namespace App\Jobs;  use Throwable; use App\Models\Blog; use App\Models\User; use App\Models\Order; use App\Models\Comment; use App\Models\Transport; use App\Models\BuyerReturn; use Illuminate\Bus\Queueable; use App\Contracts\HasNotifications; use App\Enums\PushNotificationType; use App\Jobs\Middleware\BindConfigs; use Illuminate\Queue\SerializesModels; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use App\Services\Push\PushNotificationFactory; use App\Services\Push\PushNotificationService;  class NewNotification implements ShouldQueue { 	use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;  	public bool $deleteWhenMissingModels = true;  	/** 	 * @param Blog|BuyerReturn|Comment|Order|Transport $model 	 */ 	public function __construct( 		protected PushNotificationType $type, 		protected HasNotifications $model, 		protected User $user, 		protected array $targets = [], 	{}  	public function middleware(): array{}  	/** 	 * Execute the job. 	 */ 	public function handle(): void{} }