<?php

namespace MintyPHP\Service\Audit;

/**
 * Core-side contract for API system-level audit reporting.
 *
 * Implemented by the audit module's ApiSystemAuditReporter when the module is active.
 * Falls back to NullApiSystemAuditReporter (no-op) when the audit module is disabled.
 */
interface ApiSystemAuditReporterInterface
{
    public function start(): void;

    public function finish(int $statusCode, ?string $errorCode = null): void;
}
