#pragma once

/**
 * Interfaz para acceso a información de fases.
 * Proporciona una API mínima para componentes que necesitan interactuar con datos de fases
 * sin requerir acceso a toda la funcionalidad de StageManager.
 */
class IStageInfo {
   public:
    virtual ~IStageInfo() = default;

    // Interfaz de recolección de poder
    [[nodiscard]] virtual auto canCollectPower() const -> bool = 0;
    virtual void enablePowerCollection() = 0;
    virtual void addPower(int amount) = 0;

    // Ajuste de comportamiento del gameplay
    [[nodiscard]] virtual auto getCurrentMenaceLevel() const -> int = 0;
};