import { PrewarmEnvironment } from "@normalized:N&&&tencentqianwebview/src/main/ets/model/PrewarmEnvironment&1.0.0";
/**
 * 预热全局配置（三端字段对齐）。
 *
 * 全部字段带默认值，`TencentQianWebViewPrewarmer.configure()` 可省参。
 */
export class PrewarmConfig {
    /** 目标环境，默认 PROD。 */
    public environment: PrewarmEnvironment = PrewarmEnvironment.PROD;
    /**
     * 显式 manifest URL 覆盖（私有部署 / 特殊场景逃生舱）。
     * `null` 时按 `environment` 走内置映射。
     */
    public manifestUrl: string | null = null;
    /**
     * 池容量。有效值恒为 1；> 1 会被 clamp 到 1 并 log 警告（参数保留以便后续扩展）。
     */
    public poolSize: number = 1;
    /** 是否启用 WebView 复用池。 */
    public enablePool: boolean = true;
    /**
     * 预热语言偏好（如 `"en-US"` / `"zh-CN"`）。
     *
     * 客户显式指定要预热的语言资源。HarmonyOS 走 L3 native 直取：
     * - 非空 → 直接用该语言取 `locales[lang]`。
     * - `null` 且 manifest `i18nAutoDetect=true` → 用系统语言 best-effort 判定。
     * - `null` 且 `i18nAutoDetect=false` → 固定 `zh-CN`（与 warmup.html 一致）。
     */
    public preferredLanguage: string | null = null;
    /**
     * 是否注入 SDK UA 标识（`qianwv/<version>`，与 `TencentQianWebViewConfig` 对齐），默认 true。
     *
     * 池实例按本字段创建，保证与 `open()` 的 config UA 一致，从而可被复用。
     */
    public injectUserAgent: boolean = true;
    /**
     * 客户附加的 UA 段，拼接在 `qianwv/x.x.x` 之后（与 `TencentQianWebViewConfig` 对齐），默认空。
     *
     * 与 `open()` 的 config UA 一致时池实例才会被复用。
     */
    public userAgentExtra: string = '';
}
