<?php

namespace MintyPHP\Repository\Audit;

/** Contract for system-wide security event logging with channel and outcome filtering. */
interface SystemAuditLogRepositoryInterface
{
    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;
}
