<?php
declare(strict_types=1);

namespace App\Application\Security;

use App\Application\Security\ValueObjects\{OWASPEventIdentifier, OWASPLogLevel};

interface OWASPSecurityEvent
{
    /**
     * Gibt den OWASP-konformen Event-Identifier zurück
     */
    public function getOWASPEventIdentifier(): OWASPEventIdentifier;

    /**
     * Gibt das entsprechende Log-Level zurück
     */
    public function getOWASPLogLevel(): OWASPLogLevel;

    /**
     * Gibt eine menschenlesbare Beschreibung des Events zurück
     */
    public function getDescription(): string;

    /**
     * Gibt strukturierte Event-Daten für das Logging zurück
     */
    public function getEventData(): array;
}
