<?php

namespace MintyPHP\Repository\Audit;

/** Contract for API request audit log creation, pagination, and retention purge. */
interface ApiAuditLogRepositoryInterface
{
    public function create(array $data): int|false;

    public function listPaged(array $filters): array;

    public function listFilterOptions(int $limit = 200): array;

    public function find(int $id): ?array;

    public function purgeOlderThanDays(int $days): int;
}
