<?php
declare(strict_types=1);

namespace App\Security;

/**
 * Generic rate limiter contract used by both the panel and auth station.
 */
interface RateLimiterInterface
{
    /**
     * Consume one request from the current scope bucket.
     *
     * @return array{limited:bool,remaining:int,retry_after:int}
     */
    public function consume(string $scope, int $limit, int $windowSec, string $identity = ''): array;
}
