<?php  namespace App\Models;  use App\Traits\HasStorage; use App\Contracts\HasMedia; use App\Traits\HasLimitedScope; use App\Traits\HasTranslations; use App\Observers\RewardObserver; use App\Contracts\InteractsWithDomain; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Relations\BelongsTo; use App\Contracts\HasLimitedScope as HasLimitedScopeContract;  class Reward extends Model implements HasLimitedScopeContract, HasMedia, InteractsWithDomain { 	use HasTranslations, HasStorage, HasLimitedScope;  	public array $translatable = ['description'];  	protected static function initObservers(): string 	{ 		return RewardObserver::class; 	}  	public function survey(): BelongsTo{}  	public function domain(): BelongsTo{}  	public function canAccessDomain(Domain $domain): bool{}  	public function getActiveDomain(): Domain{}  	public function scopeUserScope(Builder $query): Builder{}  	public function scopeByDomain(Builder $query, Domain $domain): Builder{}  	public function getDefaultMediaPrefix(): string{}  	public function mediaConfig(): array{}  	public function handleRankUpdate(): void{}  	protected function getIncludes(): array{} }