<?php

namespace Src\Modules\JsonObjects\Interfaces\Infrastructure;

use Src\Modules\JsonObjects\Interfaces\Infrastructure\IItemQuery;
use Src\Modules\JsonObjects\Interfaces\Infrastructure\IDirsStorage;

interface IItemStorage
{
    public function setObjectsQuery(IItemQuery $query);
    public function setDirStorage(IDirsStorage $storage): void;
    public function getById(string $itemId, array $dsl = []): array;
    public function getByIds(array $ids, array $dsl = []): array;
    public function getByType(string $type, int $limit, int $offset, array $dsl = []): array;
    public function getByKey(string $key, array $dsl = []): array;
    public function getByDirId(string $dirId, array $dsl = []): array;
}
