<?php

declare(strict_types=1);

namespace App\Framework\Health;

interface HealthCheckInterface
{
    /**
     * Perform the health check
     */
    public function check(): HealthCheckResult;

    /**
     * Get the name of this health check
     */
    public function getName(): string;

    /**
     * Get the category of this health check
     */
    public function getCategory(): HealthCheckCategory;

    /**
     * Get the timeout for this health check in milliseconds
     */
    public function getTimeout(): int;
}
