import { BaseReporter } from './reporter.js';
import { type IStateTracker } from './state/state-tracker.js';
export interface SpinnerReporterOptions {
    showLogs: boolean;
    /** Verb used in the header, e.g. "Testing", "Deploying". Default: "Processing" */
    actionVerb?: string;
    /** Label for successful results, e.g. "Deployed". Default: "Passed" */
    successLabel?: string;
    /** Label for failed results, e.g. "DEPLOY FAILED". Default: "FAILED" */
    failureLabel?: string;
}
/**
 * TTY spinner rendering for batch job progress.
 * Reads all state from IStateTracker; re-renders on a timer interval.
 */
export declare class SpinnerReporter extends BaseReporter {
    private _state;
    private _options;
    private _renderedLineCount;
    private _renderInterval?;
    private _spinnerFrame;
    private _extraLines;
    private _originalStdoutWrite;
    private _isRendering;
    constructor(state: IStateTracker, options: SpinnerReporterOptions);
    startAsync(): Promise<void>;
    stopAsync(): Promise<void>;
    private _printFailureLogs;
    private _printAllLogs;
    private _printResultLogs;
    private _render;
}
//# sourceMappingURL=spinner-reporter.d.ts.map