import Foundation

/// 预热意图档位（三端统一语义）。
///
/// 描述"预热深度 / 意图强度"，客户无需感知底层 L1–L4 机制；
/// SDK 内部按当前平台能力把档位映射到对应机制，做不到的静默降级。
///
/// - `minimal`：App 启动 / 极轻，尚不知具体业务。作用于 manifest 全局 `hosts`，**不需要 bizType**。
/// - `light`：列表曝光 / 已知业务，中等。作用于 `bizTypes[x].assets`，**需要 bizType**。
/// - `heavy`：强意图（hover / 停留 / 即将点击），全力。作用于 `bizTypes[x]` 全套，**需要 bizType**。
///
/// **iOS 映射**：minimal/light = L1(DNS) + 池预建；heavy = 池实例加载 `warmup.html`(L4，
/// 共享 `.default()` DataStore 磁盘缓存跨实例复用)。不做 L2/L3 轻量方案（Non-goal）。
///
/// **跨端等价**：HarmonyOS / Android `PrewarmLevel`。
public enum PrewarmLevel: Int {
    /// 最轻：仅全局 host 级预热（DNS），无需 bizType。
    case minimal = 0
    /// 中等：业务级轻量预热，需要 bizType。
    case light = 1
    /// 最重：业务级全力预热（池实例 + L4），需要 bizType。
    case heavy = 2
}
