import { BaseLine, PayloadType, ProgressOption } from './baseLine';
export interface MultiLineOption extends ProgressOption {
    log?: boolean;
    hideCursor?: boolean;
}
interface MultiLineItem extends BaseLine {
    originUpdate(finishedTask: number, data?: PayloadType): void;
    originIncrement(step: number, data?: PayloadType): void;
}
export declare class MultiLine {
    private readonly lineOption;
    private lines;
    private cursor;
    constructor(option?: MultiLineOption);
    private write;
    /**
     * 检查索引是否越界
     * @param index
     * @private
     */
    private checkIndex;
    /**
     * 更新进度条
     * @param index 索引
     * @param finishedTask 已完成任务数量
     * @param data 自定义渲染数据
     */
    update(index: number, finishedTask: number, data?: PayloadType): void;
    /**
     * 增加进度条
     * @param index 索引
     * @param step 步进数量
     * @param data 自定义渲染数据
     */
    increment(index: number, step?: number, data?: PayloadType): void;
    /**
     * 创建进度条
     * @param allTaskCount 全部任务数量
     * @param current 已完成任务数量
     * @param option 进度条配置
     * @param data 自定义渲染数据
     */
    create(allTaskCount: number, current?: number, option?: ProgressOption, data?: PayloadType): BaseLine;
    /**
     * 输出进度条
     * @private
     */
    private log;
    /**
     * 渲染进度条
     */
    render(): string;
    /**
     * 获取进度条list
     */
    getLines(): MultiLineItem[];
    /**
     * 停止进度条
     */
    stop(): void;
}
export {};
