<?php  namespace App\Models;  use App\Traits\HasDomain; use App\Observers\ProductObserver; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Prunable; use App\Contracts\HasDomain as HasDomainContract; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\MorphTo; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsToMany;  class Product extends Model implements HasDomainContract { 	use Prunable, HasDomain;  	protected static function initObservers(): string 	{ 		return ProductObserver::class; 	}  	public function item(): MorphTo{}  	public function prices(): HasMany{}  	public function orders(): HasMany{}  	public function domain(): BelongsTo{}  	public function category(): BelongsTo{}  	public function productRecipePivot(): HasMany{}  	public function recipes(): BelongsToMany{}  	public function productFilters(): HasMany{}  	public function filters(): BelongsToMany{}  	public function lowestPriceInLastMonth(): string{}  	public function setLowestPrice(): void{}  	public function scopeAvailable(Builder $query): Builder{}  	public function prunable(): Builder{}  	public function getName(): string{}  	public function getEditUrl(): string{}  	public function getPrice(): float{}  	public function getWeight(): float{}  	public function scopeDynamicFilters(Builder $query, ?array $filters = []): Builder{}  	public function scopeDynamicFilter(Builder $query, string $filter_id, array $values): Builder{}  	protected function getIncludes(): array{} }