<?php

declare(strict_types=1);

namespace App\Framework\CircuitBreaker;

/**
 * Interface for Circuit Breaker implementations
 *
 * Provides a contract for circuit breaker functionality
 * that can be implemented by different circuit breaker implementations
 * or test doubles.
 */
interface CircuitBreakerInterface
{
    /**
     * Get metrics for a service
     *
     * @param string $service Service name
     * @return CircuitBreakerMetrics Service metrics
     */
    public function getMetrics(string $service): CircuitBreakerMetrics;
}
