<?php  namespace App\Services\Pdf\BrandAwarenessReport;  use App\Models\Question; use App\Models\ClientSurvey; use App\Contracts\Reportable; use Illuminate\Support\Collection; use App\Enums\InternalBaApplicantType; use App\Enums\AvailableAnswerPositivity; use App\Contracts\BaReportGeneratorService; use App\Services\Applicants\IzzPdfEnpsCalculationService; use App\Services\ClientSurveys\ExportBaInternalReportService; use App\Services\Pdf\BrandAwarenessReport\Pages\BasicQuestions; use App\Services\Pdf\BrandAwarenessReport\Pages\ExtraQuestions; use App\Services\Pdf\BrandAwarenessReport\Services\BaInternalEnps; use App\Services\Pdf\BrandAwarenessReport\DataObjects\EnpsDataObject; use App\Services\Pdf\BrandAwarenessReport\DataObjects\BaInternalReportDataObject;  class BaInternalReportGeneratorService implements BaReportGeneratorService { 	public const MINIMAL_MANAGEMENT_STAFF_NUMBER = 4;  	protected ?ClientSurvey $baSurvey = null;  	public function __construct( 		protected BaInternalReportDataObject $baInternalReportDataObject, 		protected ExtraQuestions $extraQuestions, 		protected BasicQuestions $basicQuestions, 		protected BaInternalEnps $baEnpsService, 		protected IzzPdfEnpsCalculationService $enpsService 	{}  	public function generate(Reportable $survey, string $locale, array $extras = []): BaInternalReportDataObject{}  	public function setUpApplicantPositivityInRegardsToCompanyView(string $locale): void{}  	public function setUpApplicantPerceptionQuestionGroups(Collection $applicants, ExportBaInternalReportService $exportBaInternalReportService): void{}  	public function setUpApplicantPerceptionQuestionAveragesForAllEmployeeTypes(Collection $applicants, ExportBaInternalReportService $exportBaInternalReportService): void{}  	protected function setShowAllGraphs(Collection $applicants): void{}  	protected function getBasicQuestionsDataForAllApplicants(Reportable $survey, Collection $applicants, string $locale, array $filters): array{}  	protected function getExtraQuestionsDataForAllApplicants(Reportable $survey, Collection $applicants, string $locale, array $filters): array{}  	protected function getBasicQuestionsData(Reportable $survey, Collection $applicants, InternalBaApplicantType $type, string $locale, array $filters): array{}  	protected function getExtraQuestionsData(Reportable $survey, Collection $applicants, InternalBaApplicantType $type, string $locale, array $filters): array{}  	protected function setUpEnps(Reportable $survey): void{}  	protected function getEnpsCount(Collection $applicants): array{}  	protected function setUpEnpsCountByAnswerValue(Reportable $survey, Collection $applicants): void{}  	protected function setCompanyPositivityQuestion(Collection $applicants, string $locale, ExportBaInternalReportService $exportBaInternalReportService): void{} }