/**
 * Loop status line — renders a one-line summary for the TUI footer.
 *
 * Subscribes to LoopManager.onChange for immediate updates,
 * plus polls every 15s to keep the countdown fresh.
 *
 *   🔁 2 loops · next: "check staging" in 3m
 *   (nothing when no loops active)
 */
import type { LoopManager } from '../../app/loop/loop-manager.js';
interface LoopStatusInfo {
    text: string;
    loopCount: number;
}
export declare function computeLoopStatus(manager: LoopManager): LoopStatusInfo;
type SetStatusFn = (key: string, text: string | undefined) => void;
type SetEditorBadgeFn = (text: string | undefined) => void;
/**
 * Start status polling and change-driven updates. Returns a cleanup function.
 */
export declare function startLoopStatusPolling(manager: LoopManager, setStatus: SetStatusFn, setEditorBadge?: SetEditorBadgeFn): () => void;
export {};
//# sourceMappingURL=loop-status.d.ts.map