/**
 * Code Validator - Validates that code exists for completed tasks
 *
 * Prevents tasks from being marked complete without actual implementation.
 * Parses task descriptions to extract file paths and verifies they exist.
 */
/**
 * File validation result
 */
export interface FileValidationResult {
    /** File path */
    path: string;
    /** File exists */
    exists: boolean;
    /** File has meaningful content (not empty) */
    hasContent: boolean;
    /** File size in bytes */
    size: number;
}
/**
 * CodeValidator - Validates code exists for tasks
 */
export declare class CodeValidator {
    /**
     * Validate that code exists for a completed task
     *
     * @param taskId - Task ID (e.g., "T-001")
     * @param incrementPath - Path to increment
     * @returns True if all expected files exist with content
     */
    validateCodeExists(taskId: string, incrementPath: string): Promise<boolean>;
    /**
     * Validate a single file
     *
     * @param filePath - Absolute or relative file path
     */
    validateFile(filePath: string): Promise<FileValidationResult>;
    /**
     * Extract task section from tasks.md content
     */
    private extractTaskSection;
    /**
     * Extract file paths from task description
     *
     * Looks for:
     * - **Files**: section with file paths
     * - Code blocks with file paths in comments
     * - Inline file references (e.g., `src/foo/bar.ts`)
     */
    private extractFilePaths;
    /**
     * Validate multiple tasks at once
     *
     * @param taskIds - Array of task IDs
     * @param incrementPath - Path to increment
     * @returns Map of task ID to validation result
     */
    validateMultipleTasks(taskIds: string[], incrementPath: string): Promise<Map<string, boolean>>;
    /**
     * Get validation details for a task
     *
     * @param taskId - Task ID
     * @param incrementPath - Path to increment
     * @returns Array of file validation results
     */
    getValidationDetails(taskId: string, incrementPath: string): Promise<FileValidationResult[]>;
}
//# sourceMappingURL=CodeValidator.d.ts.map