/**
 * Utility Functions Module
 * 工具函数模块
 *
 * This module provides utility functions for the User-Agent generator
 * 该模块为 User-Agent 生成器提供工具函数
 */
/**
 * Read version numbers array from specified data file (supports string or {value, weight})
 * 从指定的数据文件中读取版本号数组（支持字符串或 {value, weight} 格式）
 *
 * @param file Filename (e.g., chrome.json) / 文件名（如 chrome.json）
 * @returns Array of version numbers / 版本号数组
 */
export declare function readVersions(file: string): (string | {
    value: string;
    weight: number;
})[];
/**
 * Pick a random item from an array
 * 从数组中随机选择一个元素
 *
 * @param array Array to pick from / 要选择的数组
 * @param random Optional random number (0-1) / 可选的随机数（0-1）
 * @returns Random item from array / 数组中的随机元素
 */
export declare function pickRandom<T>(array: T[], random?: number): T;
/**
 * Pick a random item from a weighted array
 * 从带权重的数组中随机选择一个元素
 *
 * @param array Array of {value, weight} objects / {value, weight} 对象数组
 * @param random Optional random number (0-1) / 可选的随机数（0-1）
 * @returns Random value based on weights / 基于权重的随机值
 */
export declare function pickWeightedRandom<T extends {
    value: any;
    weight: number;
}>(array: T[], random?: number): T['value'];
/**
 * Pick a random version from a weighted version array with subValues
 * 从带权重的版本数组中随机选择一个版本，并从其 subValue 数组中随机选择具体版本号
 *
 * @param array Array of {value, weight, subValue} objects / {value, weight, subValue} 对象数组
 * @param random Optional random number (0-1) / 可选的随机数（0-1）
 * @returns Random subValue based on weights / 基于权重的随机子版本号
 */
export declare function pickWeightedVersionWithSubValue<T extends {
    value: any;
    weight: number;
    subValue: {
        value: string;
    }[];
}>(array: T[], random?: number): string;
