import { Terminal } from './terminal';
export interface ProgressBarOptions {
    title?: string;
    width?: number;
    showPercentage?: boolean;
    showCount?: boolean;
    barColor?: keyof typeof Terminal.colors;
    backgroundColor?: keyof typeof Terminal.colors;
    spinner?: boolean;
}
export declare class ProgressBar {
    private frame;
    private readonly frames;
    private readonly total;
    private current;
    private width;
    private title;
    private chars;
    private options;
    private startTime;
    constructor(total: number, options?: ProgressBarOptions);
    update(current: number, status?: string): void;
    private render;
    /**
     * Stop and clean up the progress bar
     */
    stop(): void;
    /**
     * Mark progress as failed
     */
    fail(message?: string): void;
    /**
     * Mark progress as complete
     */
    complete(message?: string): void;
    /**
     * Create a promise-based progress bar
     */
    static wrap<T>(promise: Promise<T>, total: number, options: ProgressBarOptions & {
        onProgress?: (current: number) => void;
        successText?: string;
        errorText?: string;
    }): Promise<T>;
}
//# sourceMappingURL=progress.d.ts.map