public function getName(): string;  	abstract public function getEditUrl(): string;  	abstract public function getPrice(): float;  	abstract public function getWeight(): float;  	abstract public function getProductResource(): JsonResource;  	protected static function bootIsProduct(): void 	{ 		static::created(static function (object $model): void { 			$model->productParent()->create(); 		});  		static::deleting(static function (object $model): void { 			$model->productParent?->delete(); 		}); 	}