/**
 * Task Counter Utility
 *
 * Accurately counts tasks in tasks.md by parsing task headings
 * and checking for completion markers within each task's section.
 *
 * Fixes overcounting bug where multiple completion markers in same task
 * were counted separately.
 *
 * Algorithm:
 * 1. Split content by ## T- or ### T- headings (task markers)
 * 2. For each task section, check if it contains ANY completion marker
 * 3. Count task ONCE regardless of how many markers it has
 *
 * Supported completion markers:
 * - [x] at line start (legacy checkbox format)
 * - **Status**: [x] inline (legacy status format)
 * - **Completed**: <date> (current format)
 */
export interface TaskCount {
    total: number;
    completed: number;
    percentage: number;
}
export interface Task {
    id: string;
    title: string;
    completed: boolean;
    section: string;
}
export declare class TaskCounter {
    /**
     * Count tasks in tasks.md content
     *
     * @param content - Raw tasks.md file content
     * @returns Task counts with total, completed, and percentage
     */
    static countTasks(content: string): TaskCount;
    /**
     * Parse tasks from tasks.md content
     *
     * Splits content into task sections and determines completion status
     * for each task based on presence of completion markers.
     *
     * @param content - Raw tasks.md file content
     * @returns Array of parsed tasks
     */
    static parseTasks(content: string): Task[];
    /**
     * Check if task section contains ANY completion marker
     *
     * Checks for:
     * - [x] at line start (legacy)
     * - **Status**: [x] inline (legacy)
     * - **Completed**: <date> (current)
     *
     * @param sectionContent - Content of task section
     * @returns true if task is completed
     */
    static isTaskCompleted(sectionContent: string): boolean;
    /**
     * Get detailed task breakdown (for debugging)
     *
     * @param content - Raw tasks.md file content
     * @returns Array of tasks with details
     */
    static getTaskDetails(content: string): Task[];
}
//# sourceMappingURL=task-counter.d.ts.map