<?php  namespace App\Models;  use App\Traits\HasStorage; use App\Contracts\HasMedia; use App\Jobs\SendPushNotification; use App\Jobs\CancelPushNotification; use App\Jobs\GetOneSignalStatsSingle; use App\Observers\NotificationObserver; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Prunable; use Illuminate\Database\Eloquent\Relations\HasOne; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\MorphTo;  class Notification extends Model implements HasMedia { 	use Prunable, HasStorage;  	protected $casts = [ 		'canceled' => 'boolean', 		'active' => 'boolean', 		'countries' => 'array', 		'scheduled_at' => 'datetime', 		'completed_at' => 'datetime', 	];  	public function getTargets(): array{}  	public function getUserSeenAt(): ?string{}  	public function markAsSeen(): self{}  	public function isAvailable(): bool{}  	public function isCancelable(): bool{}  	public function resourceArray(): array{}  	public function shouldIncludeUrlParam(?string $url = null): bool{}  	public function getDefaultMediaPrefix(): string{}  	public function mediaConfig(): array{}  	public function parent(): MorphTo{}  	public function scopeAvailable(Builder $query): Builder{}  	public function send(bool $now = false): self{}  	public function cancel(bool $now = false): self{}  	public function scopeReadyForStatsCheck(Builder $query): Builder{}  	public function checkStatistics(bool $now = false): self{}  	public function setScheduledAtAttribute(?string $value): void{}  	public function setTitleAttribute(string $value): void{}  	public function targets(): HasMany{}  	public function userTarget(): HasOne{}  	public function prunable(): Builder{}  	protected function getIncludes(): array{}  	protected static function initObservers(): string 	{ 		return NotificationObserver::class; 	} }