<?php

declare(strict_types=1);

/*
 * Chill is a software for social workers
 *
 * For the full copyright and license information, please view
 * the LICENSE file that was distributed with this source code.
 */

namespace Chill\TicketBundle\Repository;

use Chill\PersonBundle\Entity\Person;
use Chill\ThirdPartyBundle\Entity\ThirdParty;

/**
 * Interface for repository operations related to accessing and managing
 * person tickets within an ACL-aware context.
 */
interface PersonTicketACLAwareRepositoryInterface
{
    /**
     * Find all the Person entity that were previously associated with a ticket with the same caller.
     *
     * @return list<Person>
     */
    public function findPersonPreviouslyAssociatedWithCaller(Person|ThirdParty $caller, int $start = 0, int $limit = 100): array;
}
