<?php  namespace App\Services\Emails;  use App\Enums\EmailType; use App\Enums\SurveyType; use App\Models\ClientSurvey; use Illuminate\Bus\Queueable; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; use Illuminate\Contracts\Queue\ShouldQueue; use App\Contracts\EmailContentFetchingInterface;  abstract class ApplicantEmails extends Mailable implements ShouldQueue { 	use Queueable, SerializesModels;  	public ClientSurvey $client_survey; 	public string $body; 	public string $mailSubject; 	public ?string $code = null; 	public ?string $url = null; 	public ?string $getCodesUrl = null;  	/** 	 * Create a new message instance. 	 * 	 * @return void 	 */ 	public function __construct(protected EmailContentFetchingInterface $emailContentFetchingService, ?string $code = null, ?string $url = null){}  	abstract protected function getType(): EmailType;  	public function build(): self{}  	public function getBody(): string{}  	public function getSubject(): string{}  	public function getLocale(): string{}  	public function getSurvey(): ClientSurvey{}  	protected function getViewLocation(): string{} }