<?php  namespace App\Services\ClientSurveys;  use App\Models\Category; use App\Models\Question; use Illuminate\View\View; use App\Enums\QuestionType; use App\Models\ClientSurvey; use Illuminate\Http\Response; use App\Enums\DomainLanguages; use App\Enums\UserActivityType; use Illuminate\Support\Collection; use Illuminate\Support\Facades\App; use App\Services\UserActivityService; use App\Services\Pdf\ChromePdf\ChromePdfService; use App\Http\Requests\GetComparativeReportByYear; use App\Services\Pdf\GeneralReport\Pages\EsiMetrics; use App\Services\Pdf\ComparativeReport\Services\EnpsService; use App\Services\Pdf\GeneralReport\DataProviders\DataProvider; use App\Services\Pdf\ComparativeReport\Services\EngagementService; use App\Services\Pdf\GeneralReport\Services\DatabaseRawDataFetcher; use App\Services\Pdf\ComparativeReport\Services\ComparativeLocationGroupService; use App\Services\Pdf\ComparativeReport\Services\ComparativeQuestionGroupService; use App\Services\Pdf\ComparativeReport\DataObjects\ComparativePdfReportDataObject; use App\Services\Pdf\ComparativeReport\Services\ComparativeDepartmentGroupService;  class ExportComparativeSingleYearPdfService { 	public function __construct(public readonly ChromePdfService $chromePdfService, public readonly ExportComparativePdfService $comparativePdfService, public ComparativePdfReportDataObject $comparativeDataObject){}  	public function exportComparativeReportByYearPdf(ClientSurvey $client_survey, GetComparativeReportByYear $request): Response|View{}  	public function exportComparativeReportByYearPdfForApiRoute(ClientSurvey $client_survey, GetComparativeReportByYear $request): Response{}  	public function createMatrix(ClientSurvey $client_survey, GetComparativeReportByYear $request, string $locale): array{}  	public function getComperativeReport(ClientSurvey $client_survey, ComparativePdfReportDataObject $comparativeDataObject, string $locale, bool $isPreview): View{}  	public function prepareComparativeDataObject(ClientSurvey $client_survey, GetComparativeReportByYear $request, array $matrix, string $locale): void{}  	public function checkMatrixAndCalculateCategoriesData(ClientSurvey $client_survey, GetComparativeReportByYear $request, array $matrix, string $locale): array{}  	public function calculateAllDataWithGroupFilters(ClientSurvey $client_survey, GetComparativeReportByYear $request, string $locale): array{}  	public function checkIfComparableGroupAnswersExists(ClientSurvey $client_survey, GetComparativeReportByYear $request, string $locale): array{}  	public function calcualteAllDataWithoutGroupFilter(ClientSurvey $client_survey, GetComparativeReportByYear $request, array $matrix, string $locale): array{}  	public function filterClientSurveyApplicants(ClientSurvey $client_survey, GetComparativeReportByYear $request, array $locations, array $departments, ?array $single_answer_value = []): Collection{}  	public function prepareComparativeDataObjectWithEngagementEnps(array $all_engagement_data, array $all_enps_data, array $all_esi_data): void{}  	// in case there is no group question selected , check number of selected filter values (min 2 required) 	public function canGenerateComparativeReportByYear(ClientSurvey $client_survey, GetComparativeReportByYear $request, string $locale, array $filters_questions, array $locations, array $departments): void{}  	public function getCategoriesAverageScore(Collection $categories, array $applicants_ids, string $locale): array{}  	// get title for multiple filter/matrix values combinations if there is no group filters 	public function generateColumnTitle(ClientSurvey $client_survey, array $matrix_element, GetComparativeReportByYear $request, string $locale): string{}  	public function getTranslationForStandardQuestion(string $locale): array{}  	public function getAllEnpsData(ClientSurvey $client_survey, array $applicants_ids): array{}  	public function getAllEngagementsData(ClientSurvey $client_survey, array $applicants_ids): array{} }