<?php

namespace NoahVet\Reef\Business\Enumerator;

use NoahVet\Reef\Business\Model\EstablishmentWithTeam;

/**
 * @psalm-import-type VeterinaryEstablishmentFilter from VeterinaryEstablishmentEnumeratorInterface
 */
interface EstablishmentWithTeamEnumeratorInterface
{
    /**
     * @param VeterinaryEstablishmentFilter $establishmentFilters
     *
     * @return \Generator<EstablishmentWithTeam>
     */
    public function enumerateAll(
        int $establishmentBatchSize = 50,
        array $establishmentFilters = [],
    ): \Generator;
}
