type ProgressOptions = { label: string; indeterminate?: boolean; total?: number; enabled?: boolean; delayMs?: number; stream?: NodeJS.WriteStream; fallback?: "spinner" | "line" | "log" | "none"; }; export type ProgressReporter = { setLabel: (label: string) => void; setPercent: (percent: number) => void; tick: (delta?: number) => void; done: () => void; }; export type ProgressTotalsUpdate = { completed: number; total: number; label?: string; }; export declare function shouldUseInteractiveProgressSpinner(params: { fallback?: ProgressOptions["fallback"]; streamIsTty?: boolean; stdinIsRaw?: boolean; }): boolean; export declare function createCliProgress(options: ProgressOptions): ProgressReporter; export declare function withProgress(options: ProgressOptions, work: (progress: ProgressReporter) => Promise): Promise; export declare function withProgressTotals(options: ProgressOptions, work: (update: (update: ProgressTotalsUpdate) => void, progress: ProgressReporter) => Promise): Promise; export {};