export interface ProgressBarOptions {
    width?: number;
    // Template: ':bar :percent :current/:total :eta'.
    format?: string;
    complete?: string;
    incomplete?: string;
    head?: string;
    clear?: boolean;
    renderThrottle?: number;
    stream?: NodeJS.WriteStream;
    color?: 'cyan' | 'green' | 'yellow' | 'blue' | 'magenta';
}
export declare class ProgressBar {
    private current;
    private total;
    private startTime;
    private lastRender;
    private stream;
    private options;
    private terminated;
    private lastDrawnWidth;
    constructor(total: number, options?: ProgressBarOptions);
    /**
     * Update progress and redraw bar.
     */
    update(current: number, tokens?: Record<string, unknown>): void;
    /**
     * Increment progress by amount.
     */
    tick(amount?: number, tokens?: Record<string, unknown>): void;
    /**
     * Render the progress bar.
     */
    private render;
    /**
     * Clear the current line.
     */
    private clearLine;
    /**
     * Format time in seconds to human readable.
     */
    private formatTime;
    /**
     * Terminate the progress bar.
     */
    terminate(): void;
}
/**
 * Create a simple progress indicator without a bar.
 */
export declare function createProgressIndicator(current: number, total: number, label?: string): string;
