<?php  namespace App\Traits;  use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Carbon; use App\Contracts\HasLimitedScope; use App\Notifications\VerifyEmail; use App\Http\Resources\UserResource; use App\Notifications\ResetPassword; use Illuminate\Database\Eloquent\Builder; use App\Http\Resources\UserPublicResource; use Illuminate\Database\Eloquent\Prunable; use Illuminate\Http\Resources\Json\JsonResource; use Illuminate\Database\Eloquent\Relations\MorphOne;  trait IsUser { 	use Prunable, HasJwt;  	abstract public function getUserEditUrl(): string;  	protected static function bootIsUser(): void{}  	public function authParent(): MorphOne{}  	public function profileRoute(?string $default = null): ?string{}  	public function getUserType(): string{}  	public function verifyEmailNotification(): VerifyEmail{}  	public function verifyEmailUrl(): string{}  	public function verifyEmailExpiration(): ?Carbon{}  	public function verifyEmailRedirectUrl(): ?string{}  	public function passwordResetNotification(string $token): ResetPassword{}  	public function passwordResetTokenUrl(string $token): string{}  	public function passwordResetRedirectUrl(): ?string{}  	public function getModelResource(User $authParent): JsonResource{}  	public function getModelPublicResource(User $authParent): JsonResource{}  	public function getUserExtraData(?Request $request = null): ?array{}  	public function getPublicUserExtraData(?Request $request = null): ?array{}  	public function mustVerifyEmail(): bool{}  	public function hasLimitedScope(HasLimitedScope $model): bool{}  	public function updateProfileValidationRules(?Request $request = null): array{}  	public function updateProfileLogic(Request $request): array{}  	public function scopeAvailable(Builder $query): Builder{}  	public function scopeIncludes(Builder $query): Builder{}  	public function scopeSearch(Builder $query, ?string $search = null): Builder{}  	public function scopeNotifiable(Builder $query): Builder{}  	public function scopeCanViewRoute(Builder $query, ?string $route = null): Builder{}  	public function scopeUserScope(Builder $query): Builder{}  	public function scopeLoginLogic(Builder $query, Request $request): Builder{}  	public function prunable(): Builder{} }