Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
1 / 1
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2
3declare(strict_types=1);
4
5/** @license For full copyright and license information, please see the LICENSE.md file. */
6
7namespace App\Modules\About\Application\Service;
8
9defined('AMMONLY_APP') || exit('Direct script access is forbidden.');
10
11use App\Modules\About\Domain\Model\RequirementCheckResult;
12use App\Modules\About\Domain\Model\SystemRequirement;
13
14/**
15 * System Diagnostics Service Interface.
16 *
17 * Contract for executing runtime benchmarks and diagnostics against system requirements.
18 *
19 * @package App\Modules\About\Application\Service
20 */
21interface SystemDiagnosticsServiceInterface
22{
23    /**
24     * Executes live benchmark inspection and returns formatted diagnostic report.
25     *
26     * @param string|null $filterCategory Optional category filter.
27     * @param bool        $forceRefresh    Whether to bypass cached metrics and run live benchmark.
28     * @return array<string, mixed> Structured diagnostics payload.
29     */
30    public function runDiagnostics(?string $filterCategory = null, bool $forceRefresh = false): array;
31
32    /**
33     * Evaluates a single system requirement based on its category and key.
34     *
35     * @param SystemRequirement $req System requirement definition.
36     * @return RequirementCheckResult Evaluated result.
37     */
38    public function evaluateRequirement(SystemRequirement $req): RequirementCheckResult;
39}