export type PayloadType = Record<string, string | number>;
export interface ProgressOption {
    leftChar?: string;
    leftColor?: string;
    rightChar?: string;
    rightColor?: string;
    name?: string;
    format?: string;
    payload?: PayloadType;
}
export declare class BaseLine {
    private readonly progressOption;
    protected readonly charLength = 50;
    protected finishedTask: number;
    protected allTask: number;
    protected percent: number;
    protected payload: PayloadType;
    constructor(option?: ProgressOption);
    /**
     * 渲染进度条
     */
    private progressRender;
    /**
     * 开始任务
     * @param total 全部任务数量
     * @param current 已完成的任务数量
     * @param data 自定义渲染数据
     * @protected
     */
    start(total: number, current?: number, data?: PayloadType): void;
    /**
     * 更新数据
     * @param finishedTask 已完成的任务数量
     * @param data 自定义渲染数据
     * @protected
     */
    update(finishedTask: number, data?: PayloadType): void;
    /**
     * 步进任务数量
     * @param step 步进数量
     * @param data 渲染进度条需要的额外数量
     */
    increment(step?: number, data?: PayloadType): void;
    /**
     * 任务是否已完成
     */
    isFinished(): boolean;
    /**
     * 获取已完成数量
     */
    getFinishedTaskCount(): number;
    /**
     * 获取全部任务数量
     */
    getAllTaskCount(): number;
    /**
     * 获取任务名称
     */
    get name(): string;
    /**
     * 渲染d单行进度条
     */
    render(): string;
}
