#pragma once

namespace ta::application::raid_context
{
    [[nodiscard]] bool raw_in_raid() noexcept;
    [[nodiscard]] bool stable_in_raid() noexcept;
    [[nodiscard]] bool teardown_in_progress() noexcept;
    [[nodiscard]] bool new_raid_candidate() noexcept;
    [[nodiscard]] float current_zoom() noexcept;

    void publish_in_raid_sample(bool raw_value) noexcept;
    void begin_teardown() noexcept;
    void confirm_new_raid() noexcept;
    void set_in_raid(bool value) noexcept;
    void set_current_zoom(float value) noexcept;
    void reset() noexcept;
}
