import { Logger } from './logger.js';
/**
 * AC Embedder Utility
 *
 * Embeds Acceptance Criteria from living docs into increment spec.md
 *
 * **Why this exists**: The AC sync hook requires ACs to be in spec.md.
 * Even when using `structure: user-stories` with external living docs,
 * ACs MUST be duplicated in spec.md for sync to work.
 *
 * **Usage**:
 * - Called by spec generators after creating spec.md
 * - Called by validation hooks to fix missing ACs
 * - Called manually via `sw:embed-acs`
 *
 * **See**: ADR-0062 (AC Embedding Architecture)
 */
export interface ACEmbedderOptions {
    logger?: Logger;
    /**
     * If true, only validates ACs exist without modifying files
     */
    dryRun?: boolean;
}
export interface UserStoryAC {
    id: string;
    title: string;
    description?: string;
    priority?: string;
    testable?: boolean;
}
export interface UserStoryInfo {
    id: string;
    title: string;
    acs: UserStoryAC[];
    filePath: string;
}
/**
 * Extract ACs from a single User Story markdown file
 */
export declare function extractACsFromUserStory(filePath: string, logger?: Logger): UserStoryInfo | null;
/**
 * Format ACs as markdown checkboxes for spec.md
 */
export declare function formatACsAsMarkdown(userStories: UserStoryInfo[]): string;
/**
 * Embed ACs from living docs into increment spec.md
 *
 * @param incrementPath - Path to increment directory (e.g., ".specweave/increments/0050-feature")
 * @param livingDocsPath - Path to living docs directory (e.g., ".specweave/docs/internal/specs/specweave/FS-048")
 * @param options - Embedding options
 * @returns Number of ACs embedded, or -1 if error
 */
export declare function embedACsFromLivingDocs(incrementPath: string, livingDocsPath: string, options?: ACEmbedderOptions): Promise<number>;
/**
 * Validate that spec.md contains all required ACs
 *
 * @param specPath - Path to spec.md
 * @param expectedACCount - Expected number of ACs (from metadata.json)
 * @returns true if valid, false otherwise
 */
export declare function validateACsInSpec(specPath: string, expectedACCount: number, logger?: Logger): boolean;
//# sourceMappingURL=ac-embedder.d.ts.map