/**
 * 测试基础工具类
 * 提供跨平台的测试工具函数和平台检测功能
 */
/// <reference types="mocha" />
/**
 * 平台检测工具类
 */
export declare class PlatformUtils {
    /**
     * 检查是否为Linux系统
     */
    static isLinux(): boolean;
    /**
     * 检查是否为macOS系统
     */
    static isMacOS(): boolean;
    /**
     * 检查是否为Windows系统
     */
    static isWindows(): boolean;
    /**
     * 获取当前平台
     */
    static getCurrentPlatform(): string;
    /**
     * 获取平台友好名称
     */
    static getPlatformName(): string;
}
/**
 * 测试验证工具类
 */
export declare class TestValidators {
    /**
     * 检查是否为有效的数字
     */
    static isValidNumber(num: any): boolean;
    /**
     * 检查是否为有效的百分比 (0-100)
     */
    static isValidPercentage(num: any): boolean;
    /**
     * 检查是否为正数
     */
    static isPositiveNumber(num: any): boolean;
    /**
     * 检查是否为非空字符串
     */
    static isNonEmptyString(str: any): boolean;
    /**
     * 检查是否为有效的数组
     */
    static isValidArray(arr: any): boolean;
    /**
     * 检查是否为有效的对象
     */
    static isValidObject(obj: any): boolean;
}
/**
 * 测试配置类
 */
export declare class TestConfig {
    /**
     * 默认超时时间
     */
    static readonly DEFAULT_TIMEOUT = 10000;
    /**
     * 长时间运行测试的超时时间
     */
    static readonly LONG_TIMEOUT = 30000;
    /**
     * 性能测试的最大执行时间
     */
    static readonly PERF_MAX_DURATION = 5000;
    /**
     * 内存测试的最大内存增长(MB)
     */
    static readonly MAX_MEMORY_INCREASE_MB = 10;
}
/**
 * 异步测试装饰器
 */
export declare function asyncTest(testFn: Function): (this: Mocha.Context) => Promise<void>;
/**
 * 长时间测试装饰器
 */
export declare function longTest(testFn: Function): (this: Mocha.Context) => Promise<void>;
/**
 * 平台条件测试装饰器
 */
export declare function platformTest(platforms: string[], testFn: Function): (this: Mocha.Context) => any;
/**
 * 跳过特定平台的测试装饰器
 */
export declare function skipOnPlatform(platforms: string[], testFn: Function): (this: Mocha.Context) => any;
/**
 * 测试数据验证助手
 */
export declare class TestAssertions {
    /**
     * 断言系统信息对象的有效性
     */
    static assertSystemInfo(info: any, requiredFields: string[]): void;
    /**
     * 断言百分比字段的有效性
     */
    static assertPercentageFields(info: any, percentageFields: string[]): void;
    /**
     * 断言内存信息的一致性
     */
    static assertMemoryConsistency(info: any): void;
    /**
     * 断言网络统计信息的有效性
     */
    static assertNetworkStats(stats: any[]): void;
}
/**
 * 性能监控工具
 */
export declare class PerformanceMonitor {
    private startTime;
    private startMemory;
    private timings;
    constructor();
    /**
     * 获取执行时间(毫秒)
     */
    getExecutionTime(): number;
    /**
     * 获取内存使用增长(字节)
     */
    getMemoryIncrease(): number;
    /**
     * 验证性能是否在可接受范围内
     */
    assertPerformance(maxTimeMs?: number): void;
    /**
     * 验证内存使用是否在可接受范围内
     */
    assertMemoryUsage(maxIncreaseMB?: number): void;
    /**
     * 计时方法 - 执行函数并记录执行时间
     */
    time<T>(label: string, fn: () => Promise<T>): Promise<T>;
    /**
     * 获取所有计时报告
     */
    getReport(): {
        [key: string]: number;
    };
    /**
     * 重置所有计时记录
     */
    reset(): void;
}
//# sourceMappingURL=test-base.d.ts.map