<?php

namespace NoahVet\Reef\Business\Enumerator;

use NoahVet\Reef\Jane\Model\ManufacturerResponseItem;
use NoahVet\Reef\Jane\Model\ManufacturerUserResponseItem;

interface ManufacturerTeamMembersEnumeratorInterface
{
    /**
     * @param ?string[] $manufacturerIdFilter
     *
     * @return \Generator<ManufacturerUserResponseItem>
     */
    public function enumerateAll(?array $manufacturerIdFilter = null, int $querySize = 50): \Generator;

    /**
     * @param ManufacturerResponseItem[] $manufacturers
     *
     * @return array<string, array<ManufacturerUserResponseItem>>
     */
    public function getTeamMembers(array $manufacturers, int $querySize = 50): array;
}
