/**
 * Spec Parser
 *
 * Advanced parsing utilities for spec.md files
 * Extracts user stories, acceptance criteria, increments, etc.
 *
 * @module spec-parser
 */
import { UserStory, AcceptanceCriteria, IncrementReference, SpecMetadata } from '../types/spec-metadata.js';
export declare class SpecParser {
    /**
     * Parse complete user story including acceptance criteria
     */
    static parseUserStory(markdown: string, usId: string): UserStory | null;
    /**
     * Determine user story status based on acceptance criteria completion
     */
    private static determineStatusFromAC;
    /**
     * Extract priority from markdown near a user story
     */
    private static extractPriority;
    /**
     * Parse all user stories from markdown
     */
    static parseAllUserStories(markdown: string): UserStory[];
    /**
     * Parse acceptance criteria for a user story
     */
    static parseAcceptanceCriteria(markdown: string, usId: string): AcceptanceCriteria[];
    /**
     * Parse metadata from AC description (priority, testability)
     */
    private static parseACMetadata;
    /**
     * Parse increment references from markdown
     */
    static parseIncrementReferences(markdown: string): IncrementReference[];
    /**
     * Parse increment status from icon and text
     */
    private static parseIncrementStatus;
    /**
     * Extract frontmatter from markdown
     */
    static extractFrontmatter(markdown: string): Partial<SpecMetadata>;
    /**
     * Extract overview section
     */
    static extractOverview(markdown: string): string;
    /**
     * Extract external references section
     */
    static extractExternalReferences(markdown: string): {
        github?: string;
        jira?: string;
        ado?: string;
    };
    /**
     * Calculate overall progress
     */
    static calculateProgress(userStories: UserStory[]): {
        totalUserStories: number;
        completedUserStories: number;
        inProgressUserStories: number;
        todoUserStories: number;
        percentComplete: number;
    };
    /**
     * Find user stories by status
     */
    static filterUserStories(userStories: UserStory[], status?: 'todo' | 'in-progress' | 'done', priority?: 'P1' | 'P2' | 'P3'): UserStory[];
    /**
     * Find user story by ID
     */
    static findUserStory(userStories: UserStory[], usId: string): UserStory | undefined;
    /**
     * Update user story status in markdown by checking/unchecking AC boxes
     */
    static updateUserStoryStatus(markdown: string, usId: string, newStatus: 'todo' | 'in-progress' | 'done'): string;
}
//# sourceMappingURL=spec-parser.d.ts.map