<?php  namespace App\Traits;  use App\Models\PushDevice; use App\Models\NotificationTarget; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Relations\HasMany;  trait HasPushDevices { 	public function devices(): HasMany{}  	public function notificationTargets(): HasMany{}  	public function isNotifiable(): bool{}  	public function markAllNotificationsAsSeen(): self{}  	public function scopeNotifiable(Builder $query): Builder{}  	protected static function bootHasPushDevices(): void 	{ 		static::deleting(function (object $model): void { 			$model->devices->each(function (PushDevice $item): void { 				$item->delete(); 			});  			$model->notificationTargets->each(function (PushDevice $item): void { 				$item->delete(); 			}); 		}); 	} }