import { colorEnabled } from "./style.js"; export interface LoggerOptions { quiet?: boolean; verbose?: boolean; json?: boolean; } /** * Live multi-task panel for parallel work (analyze phases, etc.). * Renders only on interactive TTYs; otherwise falls back to plain steps. */ export declare class TaskBoard { private readonly logger; private readonly title; private readonly tasks; private readonly order; private timer; private frame; private readonly frames; private lineCount; private readonly enabled; private readonly stream; private headed; constructor(logger: Logger, title?: string); add(id: string, label: string): void; start(id: string, label?: string): void; succeed(id: string, label?: string): void; fail(id: string, label?: string): void; stop(): void; private ensureHeader; private ensureTick; private maybeStopTick; private render; } export declare class Logger { private readonly quiet; private readonly verbose; private readonly json; private readonly interactive; private activeSpinner; private headerShown; private progressActive; private lastNonInteractivePct; constructor(options?: LoggerOptions); get isInteractive(): boolean; get isQuiet(): boolean; get isJson(): boolean; /** Always print the tool header once per run (before any work). */ banner(command: string, version?: string): void; /** @deprecated alias — prefer banner */ brand(command: string): void; stage(label: string): void; step(message: string): void; success(message: string): void; failure(message: string): void; info(message: string): void; warn(message: string): void; debug(message: string): void; startSpinner(text: string): void; updateSpinner(text: string): void; succeedSpinner(text?: string): void; failSpinner(text?: string): void; stopSpinner(): void; createBoard(title?: string): TaskBoard; /** * Live progress bar — always preferred over a static spinner for long work. * Interactive: in-place bar. Non-interactive: milestones every ~10%. */ progressRatio(ratio: number, label?: string, meta?: string): void; clearProgress(): void; finishProgress(successText: string): void; /** @deprecated use progressRatio */ progress(message: string): void; writeJson(value: unknown): void; writeReport(text: string): void; } export { colorEnabled };