* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ declare(strict_types=1); namespace ApiPlatform\State; use ApiPlatform\Metadata\Operation; use ApiPlatform\State\Pagination\PartialPaginatorInterface; /** * Retrieves data from a persistence layer. * * @author Antoine Bluchet * * @template T of object */ interface ProviderInterface { /** * Provides data. * * @return T|PartialPaginatorInterface|iterable|null */ public function provide(Operation $operation, array $uriVariables = [], array $context = []); }