<?php

namespace Modules\Banner\Interfaces;

use Illuminate\Database\Eloquent\Builder;
use Modules\Banner\Models\Banner;

interface BannerRepositoryInterface
{
    public function get(array $request): Builder;
    public function getItem(int $id);
    public function checkItem(int $id): ?Banner;
    public function getItemTrashed(int $id): ?Banner;
    public function create(array $data): Banner;
    public function update(Banner $banner, array $data): Banner;
    public function saveDescriptions(int $bannerId, array $data): void;
    public function destroy(Banner $banner): void;
    public function destroyAll(array $ids): void;
    public function restore(Banner $banner): void;
    public function restoreAll(array $ids): void;
    public function forceDelete(Banner $banner): void;
    public function forceDeleteAll(array $ids): void;
}
