/**
 * ConsoleProgressReporter — the default terminal adapter for the
 * ProgressReporter port (W0053).
 *
 * Renders phase-start / phase-progress / phase-complete as human-readable
 * lines on stdout. Progress lines are rate-limited so a high-frequency
 * producer (one event per artifact) never floods the terminal; the adapter
 * flushes at most once per `tickMs` (default 1s) and always flushes the
 * final line on `phaseComplete`.
 *
 * `verbose: true` emits one line per item — matches the CLI's existing
 * `--verbose` semantics without re-rendering the rate-limited line twice.
 */
import type { PhaseCompleteEvent, PhaseProgressEvent, PhaseStartEvent, ProgressReporter } from "../../_vendor/ailf-core/index.d.ts";
export interface ConsoleProgressReporterOptions {
    /** Minimum interval between rate-limited progress lines, in ms. Default 1000. */
    tickMs?: number;
    /** Emit one line per item rather than rate-limiting. */
    verbose?: boolean;
    /** Sink for output (tests override). Defaults to `console.log`. */
    write?: (line: string) => void;
    /** Clock (tests override). Defaults to `Date.now`. */
    now?: () => number;
}
export declare class ConsoleProgressReporter implements ProgressReporter {
    private readonly tickMs;
    private readonly verbose;
    private readonly write;
    private readonly now;
    private readonly phases;
    constructor(options?: ConsoleProgressReporterOptions);
    phaseStart(event: PhaseStartEvent): void;
    phaseProgress(event: PhaseProgressEvent): void;
    phaseComplete(event: PhaseCompleteEvent): void;
}
