<?php  namespace App\Models;  use App\Enums\ShopType; use App\Traits\HasMarkets; use App\Traits\HasStorage; use App\Contracts\HasMedia; use App\Observers\ShopObserver; use App\Traits\HasTranslations; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsToMany;  class Shop extends Model implements HasMedia { 	use HasStorage, HasTranslations, HasMarkets;  	public array $translatable = ['working_hours', 'title'];  	public $casts = [ 		'active' => 'boolean', 	];  	public function getDefaultMediaPrefix(): string{}  	public function mediaConfig(): array{}  	public function parentPharmacy(): BelongsTo{}  	public function children(): HasMany{}  	public function scopePhysical(Builder $query): Builder{}  	public function scopeWithoutSelf(Builder $query, Shop $self): Builder{}  	public function products(): BelongsToMany{}  	public function hasParent(): bool{}  	public function scopeIncludes(Builder $query): Builder{}  	protected static function boot(): void 	{ 		parent::boot();  		static::addGlobalScope('order', function (Builder $builder) { 			$builder->orderBy('updated_at', 'DESC'); 		}); 		static::addGlobalScope('currentMarket', function (object $builder) { 			$builder->onCurrentMarket(); 		}); 	}  	protected static function initObservers(): string 	{ 		return ShopObserver::class; 	} }