import { I18n } from './i18n';
export interface TaskItem {
    text: string;
    completed: boolean;
}
export interface ProgressResult {
    total: number;
    completed: number;
    percentage: number;
    tasks: TaskItem[];
    title: string;
}
/**
 * Parse task.md content into progress numbers. Standalone so callers that hold
 * content rather than the active task file (e.g. TaskStore listing the stored
 * tasks) reuse the exact same checkbox/title rules.
 */
export declare function parseProgressContent(content: string): ProgressResult;
export declare class ProgressTracker {
    private taskFile;
    private i18n;
    constructor(taskFile: string, i18n: I18n);
    getProgress(): Promise<ProgressResult>;
    /**
     * Mark the given 1-based checkbox numbers (matching `progress` output order)
     * as completed or pending and persist the change to task.md.
     */
    setCompletion(indices: number[], completed: boolean): Promise<{
        updated: number[];
        invalid: number[];
        result: ProgressResult;
    }>;
    private parseProgress;
    formatProgressBar(percentage: number, width?: number): string;
    formatOutput(result: ProgressResult): string;
}
//# sourceMappingURL=ProgressTracker.d.ts.map