import { TransferCliProgressBar } from "../progress-bars/base-transfer-cli-progress-bar.js"; import { FormattedStatus } from "../../format-transfer-status.js"; import cliSpinners from "cli-spinners"; export type MultiProgressBarOptions = { maxViewDownloads: number; createProgressBar: TransferCliProgressBar; loadingAnimation: cliSpinners.SpinnerName; }; export type CLIProgressPrintType = "update" | "log"; export declare class BaseMultiProgressBar { protected options: MultiProgressBarOptions; readonly updateIntervalMs: null | number; readonly printType: CLIProgressPrintType; constructor(options: MultiProgressBarOptions); protected createProgresses(statuses: FormattedStatus[]): string; /** * Sorts the statuses by importance, active downloads first, then remaining, then finished (by end time - latest first) */ protected recorderStatusByImportance(statuses: FormattedStatus[]): { notFinished: boolean; remaining: number; allStatusesSorted: FormattedStatus[]; }; createMultiProgressBar(statuses: FormattedStatus[], oneStatus: FormattedStatus, loadingDownloads?: number): string; }