<?php

namespace App\Repositories\Contracts;

interface RepositoryInterface
{
    public function find(int $id): ?object;

    public function all(array $filters = [], int $page = 1, int $perPage = 20): array;

    public function create(array $data): object;

    public function update(int $id, array $data): bool;

    public function delete(int $id): bool;

    public function count(array $filters = []): int;
}
