$filters * @return Collection */ public function getAll(array $filters = []): Collection; /** * Find a thanatopractitioner by ID. * * @param int $id * @return Thanatopractitioner|null */ public function findById(int $id): ?Thanatopractitioner; /** * Find a thanatopractitioner by employee ID. * * @param int $employeeId * @return Thanatopractitioner|null */ public function findByEmployeeId(int $employeeId): ?Thanatopractitioner; /** * Get thanatopractitioners with valid authorization. * * @return Collection */ public function getWithValidAuthorization(): Collection; /** * Get thanatopractitioners with expired authorization. * * @return Collection */ public function getWithExpiredAuthorization(): Collection; /** * Get thanatopractitioners with their complete data. * * @return Collection */ public function getWithRelations(): Collection; /** * Get thanatopractitioners with pagination. * * @param int $perPage * @return array{thanatopractitioners: Collection, pagination: array} */ public function getPaginated(int $perPage = 10): array; /** * Get thanatopractitioner statistics. * * @return array */ public function getStatistics(): array; }