/**
 * Status Line Updater
 *
 * Synchronously updates status line cache by scanning spec.md files.
 * Equivalent to update-status-line.sh but runs SYNCHRONOUSLY.
 *
 * Purpose: Force-refresh status line when it appears stale
 *
 * Architecture:
 * 1. Scan all spec.md files for open increments (status = active/planning/backlog/ready_for_review)
 * 2. Sort by creation date (oldest first)
 * 3. Select first as current increment
 * 4. Parse tasks.md for progress (use TaskCounter for accuracy)
 * 5. Write cache atomically (.specweave/state/status-line.json)
 *
 * Performance: ~50-100ms (acceptable for user-facing commands)
 */
import { StatusLineCache } from './types.js';
/**
 * Status Line Updater
 *
 * Provides synchronous status line cache updates.
 */
export declare class StatusLineUpdater {
    private rootDir;
    constructor(rootDir?: string);
    /**
     * Update status line cache synchronously
     *
     * This is the main entry point for force-refreshing the status line.
     * NOW supports up to 2 active increments (aligned with ActiveIncrementManager).
     */
    update(): Promise<void>;
    /**
     * Find all open increments by scanning spec.md files
     *
     * Logic:
     * - Scan .specweave/increments/[id]/spec.md
     * - Parse YAML frontmatter for status field
     * - Filter: status === 'active' || 'planning' || 'in-progress'
     * - Extract: {id, created, status}
     */
    private findOpenIncrements;
    /**
     * Parse spec.md YAML frontmatter
     *
     * Extracts: status, created
     */
    private parseSpecMetadata;
    /**
     * Parse tasks.md for progress
     *
     * Uses TaskCounter for accurate counting (fixes overcounting bug)
     */
    private parseTaskProgress;
    /**
     * Write cache atomically
     *
     * Uses temp file → rename pattern to prevent corruption
     */
    private writeCache;
    /**
     * Get current cache (for testing)
     */
    getCurrentCache(): Promise<StatusLineCache | null>;
}
//# sourceMappingURL=status-line-updater.d.ts.map