#pragma once

#include <vector>

#include "run_config.hpp"
#include "shared_types.hpp"

namespace radar::acq {

/**
 * @brief Pre-validated execution order of switch combinations for one collection.
 */
struct SweepPlan {
    std::vector<ipc::ComboKey> ordered_combos{};
};

/**
 * @brief Build and validate sweep execution plan from runtime config.
 */
[[nodiscard]] auto build_sweep_plan(const config::RunConfig& config) -> SweepPlan;

}  // namespace radar::acq
