import { UploadProgress } from '../types';
export interface ProgressBarOptions {
    width?: number;
    showPercentage?: boolean;
    showSpeed?: boolean;
    showETA?: boolean;
    showFileInfo?: boolean;
}
export declare class ProgressBar {
    private options;
    private startTime;
    private lastUpdate;
    private lastLoaded;
    private speeds;
    private maxSpeedSamples;
    constructor(options?: ProgressBarOptions);
    /**
     * 更新进度
     */
    update(progress: UploadProgress): string;
    /**
     * 渲染进度条
     */
    private render;
    /**
     * 渲染进度条图形
     */
    private renderProgressBar;
    /**
     * 计算平均速度
     */
    private calculateAverageSpeed;
    /**
     * 计算预计剩余时间
     */
    private calculateETA;
    /**
     * 重置进度条
     */
    reset(): void;
}
/**
 * 简单的进度显示器
 */
export declare class SimpleProgress {
    private lastPercentage;
    /**
     * 显示进度
     */
    show(progress: UploadProgress): void;
    /**
     * 创建简单的进度条
     */
    private createSimpleBar;
    /**
     * 清除当前行
     */
    clear(): void;
}
/**
 * 批量上传进度显示器
 */
export declare class BatchProgress {
    private currentFile;
    private totalFiles;
    private fileProgress;
    constructor(totalFiles: number);
    /**
     * 更新文件进度
     */
    updateFile(fileIndex: number, progress: UploadProgress): void;
    /**
     * 渲染批量进度
     */
    private render;
    /**
     * 完成显示
     */
    complete(): void;
}
//# sourceMappingURL=progressBar.d.ts.map