// DragonX Wallet - ImGui Edition
// Copyright 2024-2026 The Hush Developers
// Released under the GPLv3

#pragma once

namespace dragonx {
class App;

namespace ui {

/**
 * @brief Render the Mining tab
 * Controls for CPU mining with RandomX
 */
void RenderMiningTab(App* app);

/**
 * @brief Returns true when the thread benchmark is actively running.
 * Used by idle mining to avoid interfering with measurements.
 */
bool IsMiningBenchmarkActive();

/**
 * @brief Cancel a running thread benchmark and restore the miner to its pre-benchmark thread count.
 * Safe to call when no benchmark is active (no-op). Used when leaving the Mining tab or switching to
 * solo mode so the miner isn't left stuck at a benchmark step. (L-04, L-11)
 */
void CancelMiningBenchmark(App* app);

} // namespace ui
} // namespace dragonx
