<?php

namespace Modules\Slider\Interfaces;

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

interface SliderRepositoryInterface
{
    public function get(array $request): Builder;
    public function getItem(int $id);
    public function checkItem(int $id): ?Slider;
    public function getItemTrashed(int $id): ?Slider;
    public function create(array $data): Slider;
    public function update(Slider $slider, array $data): Slider;
    public function saveDescriptions(int $sliderId, array $data): void;
    public function destroy(Slider $slider): void;
    public function destroyAll(array $ids): void;
    public function restore(Slider $slider): void;
    public function restoreAll(array $ids): void;
    public function countAll(): int;
}
