<?php

declare(strict_types=1);

namespace ApiModel\Domain\Repository;

interface PlatformAuditRepositoryInterface
{
    public function log(string $action, ?string $actorUserId, ?string $targetUserId, string $metadata): void;

    public function countAll(): int;

    /** @return list<array<string, mixed>> */
    public function listPage(int $limit, int $offset): array;

    /** @return list<array<string, mixed>> */
    public function listUsersWithLatestLogin(): array;

    /** @return list<array<string, mixed>> */
    public function listDetailsForUser(string $userId): array;
}

