/**
 * 性能优化相关工具
 */
export declare class PerformanceCache<K, V> {
    private cache;
    private accessTimes;
    private maxSize;
    constructor(maxSize?: number);
    get(key: K): V | undefined;
    set(key: K, value: V): void;
    has(key: K): boolean;
    delete(key: K): boolean;
    clear(): void;
    size(): number;
    private evictLRU;
}
export declare class PerformanceTracker {
    private timers;
    private counters;
    startTimer(name: string): void;
    endTimer(name: string): number;
    increment(name: string): void;
    getCounter(name: string): number;
    reset(): void;
    getStats(): Record<string, any>;
}
/**
 * 批处理器 - 用于批量处理数据，避免一次性处理过多数据造成阻塞
 */
export declare class BatchProcessor {
    private batchSize;
    private delay;
    constructor(batchSize?: number, delay?: number);
    /**
     * 批量处理数据
     * @param items 待处理的数据数组
     * @param processor 处理函数
     * @returns 处理结果数组
     */
    processBatch<T, R>(items: T[], processor: (item: T) => Promise<R>): Promise<R[]>;
    /**
     * 批量处理数据（同步版本）
     * @param items 待处理的数据数组
     * @param processor 处理函数
     * @param onProgress 进度回调
     * @returns 处理结果数组
     */
    processBatchSync<T, R>(items: T[], processor: (item: T) => R, onProgress?: (progress: number) => void): R[];
}
/**
 * 防抖器 - 用于防抖操作，避免频繁触发
 */
export declare class Debouncer {
    private timers;
    /**
     * 防抖执行函数
     * @param key 唯一标识符
     * @param fn 要执行的函数
     * @param delay 延迟时间（毫秒）
     */
    debounce(key: string, fn: () => void, delay?: number): void;
    /**
     * 取消指定的防抖
     * @param key 唯一标识符
     */
    cancel(key: string): void;
    /**
     * 取消所有防抖
     */
    cancelAll(): void;
    /**
     * 获取当前活跃的防抖数量
     */
    size(): number;
}
/**
 * 内存优化器 - 用于管理内存清理任务
 */
export declare class MemoryOptimizer {
    private static instance;
    private cleanupTasks;
    private intervalId;
    private constructor();
    static getInstance(): MemoryOptimizer;
    /**
     * 添加清理任务
     * @param id 任务ID
     * @param task 清理任务函数
     * @param priority 优先级（数字越大优先级越高）
     */
    addCleanupTask(id: string, task: () => void, priority?: number): void;
    /**
     * 移除清理任务
     * @param id 任务ID
     */
    removeCleanupTask(id: string): void;
    /**
     * 开始周期性清理
     * @param intervalMs 清理间隔（毫秒）
     */
    startPeriodicCleanup(intervalMs?: number): void;
    /**
     * 停止周期性清理
     */
    stopPeriodicCleanup(): void;
    /**
     * 运行所有清理任务
     */
    runCleanup(): void;
    /**
     * 获取清理任务信息
     */
    getCleanupInfo(): {
        taskCount: number;
        isRunning: boolean;
        tasks: Array<{
            id: string;
            priority: number;
        }>;
    };
    /**
     * 释放资源
     */
    dispose(): void;
}
/**
 * 异步性能测量工具
 * @param name 性能测量名称
 * @param fn 要测量的异步函数
 * @returns 包含执行结果和性能信息的对象
 */
export declare function measureAsync<T>(name: string, fn: () => Promise<T>): Promise<T & {
    _performance: {
        name: string;
        duration: number;
        timestamp: number;
    };
}>;
/**
 * 创建一个带有性能监控的函数包装器
 * @param name 性能测量名称
 * @param fn 要包装的函数
 * @returns 包装后的函数
 */
export declare function withPerformanceMonitoring<Args extends any[], Return>(name: string, fn: (...args: Args) => Return): (...args: Args) => Return;
export declare const globalPerformanceTracker: PerformanceTracker;
export declare const globalMemoryOptimizer: MemoryOptimizer;
export declare const globalBatchProcessor: BatchProcessor;
export declare const globalDebouncer: Debouncer;
//# sourceMappingURL=performance.d.ts.map