<?php  namespace App\Models;  use App\Enums\SurveyType; use App\Traits\IsClonable; use App\Enums\QuestionType; use Illuminate\Support\Str; use App\Enums\QuestionClass; use App\Traits\HasTranslations; use App\Traits\HasUserActivity; use App\Observers\QuestionObserver; use Illuminate\Database\Eloquent\Builder; use App\Contracts\IsClonable as IsClonableContract; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsToMany; use App\Contracts\HasUserActivity as HasUserActivityContract; use App\Contracts\HasDragAndDropReorder as HasDragAndDropReorderContract;  class Question extends Model implements HasDragAndDropReorderContract, HasUserActivityContract, IsClonableContract { 	use HasTranslations, IsClonable, HasUserActivity;  	public array $translatable = ['title', 'description', 'available_answers'];  	protected $casts = [ 		'allowed_comments' => 'boolean', 		'required' => 'boolean', 		'title' => 'array', 		'description' => 'array', 		'available_answers' => 'array', 		'class' => QuestionClass::class, 	];  	public static function getOrderFieldName(): string 	{ 		return 'ordering'; 	}  	protected static function initObservers(): string 	{ 		return QuestionObserver::class; 	}  	public function getClonableRelations(): array{}  	public function getCloneParentForeignKey(): string{}  	public function getUserActivityTitle(): string{}  	public function getUserActivityUrl(): string{}  	public function scopeSearch(Builder $query, ?string $search = null): Builder{}  	public function scopeFilter(Builder $query, ?string $category_id = null, ?string $client_survey_id = null, ?string $class = null, ?string $survey_id = null): Builder{}  	public function scopeIzzQuestions(Builder $query): Builder{}  	public function scopePpiQuestions(Builder $query): Builder{}  	public function scopeBasicQuestion(Builder $query): Builder{}  	public function scopeComparableTypes(Builder $query): Builder{}  	public function scopeEmail(Builder $query): Builder{}  	public function category(): BelongsTo{}  	public function questionGroup(): BelongsTo{}  	public function clientSurvey(): BelongsTo{}  	public function children(): HasMany{}  	public function parent(): BelongsTo{}  	public function answers(): HasMany{}  	public function questionAnswerGroups(): HasMany{}  	public function availableAnswersPositivities(): HasMany{}  	public function clientSurveyDemographicQuestions(): HasMany{}  	public function clientSurveyPpiQuestions(): HasMany{}  	public function questionProfessionPivot(): HasMany{}  	public function professions(): BelongsToMany{}  	public function applicantSurveyQuestionOrder(): HasMany{}  	public function scopeStandardRadio(Builder $query): Builder{}  	public function scopeDemographicQuestions(Builder $query): Builder{}  	public function scopeDemographicQuestionsPpi(Builder $query): Builder{}  	public function scopeForCurrentYear(Builder $query): Builder{}  	public function scopeBrandAwarenessQuestion(Builder $query): Builder{}  	public function scopeBranchesFromProfession(Builder $query): Builder{}  	public function scopeBranchesFromQuestion(Builder $query): Builder{}  	public function scopeNegativeQuestions(Builder $query): Builder{}  	public function scopeFilterBySurveyAndCategory(Builder $query, ?string $selected_category, ?string $selected_survey): Builder{}  	public function setCodeAttribute(?string $value): void{}  	public function isBrandAwarenessQuestion(): bool{}  	public function isClientSurveyTypePPI(): bool{}  	public function getValidationRules(): array{}  	public function getRadioButtonTranslations(int $value, string $locale): string{}  	public function setValueAttribute(?string $value): void{}  	public function trimSelectValues(?string $value): string{} }