import { BatchUploadResult, ProgressCallback, UploadResult } from '../types';
/**
 * 上传重试配置
 */
export interface RetryConfig {
    maxRetries: number;
    baseDelay: number;
    maxDelay: number;
    backoffFactor: number;
}
/**
 * 默认重试配置
 */
export declare const DEFAULT_RETRY_CONFIG: RetryConfig;
/**
 * 执行带重试的操作
 */
export declare function retryOperation<T>(operation: () => Promise<T>, config?: Partial<RetryConfig>): Promise<T>;
/**
 * 睡眠函数
 */
export declare function sleep(ms: number): Promise<void>;
/**
 * 创建进度聚合器（用于批量上传）
 */
export declare function createProgressAggregator(totalFiles: number, onProgress?: ProgressCallback): (fileIndex: number, fileProgress: {
    loaded: number;
    total: number;
    fileName: string;
}) => void;
/**
 * 验证上传选项
 */
export declare function validateUploadOptions(options: {
    localPath: string;
    remotePath: string;
    chunkSize?: number;
    maxRetries?: number;
}): {
    valid: boolean;
    errors: string[];
};
/**
 * 计算上传统计信息
 */
export declare function calculateUploadStats(results: UploadResult[]): {
    totalFiles: number;
    successCount: number;
    failedCount: number;
    totalSize: number;
    successRate: number;
};
/**
 * 过滤文件（排除隐藏文件、临时文件等）
 */
export declare function shouldUploadFile(filePath: string, options?: {
    includeHidden?: boolean;
    excludePatterns?: string[];
}): boolean;
/**
 * 生成上传摘要报告
 */
export declare function generateUploadSummary(result: BatchUploadResult): string;
//# sourceMappingURL=uploadUtils.d.ts.map