/**
 * Writing Validation Engine
 *
 * Core validation engine that scans text for AI detection patterns, banned phrases,
 * and authenticity markers. Provides comprehensive scoring and issue reporting.
 *
 * @implements @.aiwg/requirements/use-cases/UC-001-validate-ai-generated-content.md
 * @architecture @.aiwg/architecture/software-architecture-doc.md - Section 5.1 WritingValidator
 * @nfr @.aiwg/requirements/nfr-modules/performance.md - NFR-PERF-001 (<60s validation)
 * @nfr @.aiwg/requirements/nfr-modules/accuracy.md - NFR-ACC-001 (<5% false positives)
 * @tests @test/unit/writing/validation-engine.test.ts
 * @depends @src/writing/validation-rules.ts
 * @depends @src/writing/pattern-library.ts
 */
import { RuleSet, ValidationContext, Severity } from './validation-rules.js';
export interface ValidationIssue {
    type: 'banned_phrase' | 'ai_pattern' | 'missing_authenticity' | 'formulaic_structure';
    severity: Severity;
    message: string;
    location: {
        start: number;
        end: number;
        line: number;
        column: number;
    };
    suggestion?: string;
    context?: string;
    ruleId?: string;
}
export interface ValidationSummary {
    totalIssues: number;
    criticalCount: number;
    warningCount: number;
    infoCount: number;
    authenticityScore: number;
    aiPatternScore: number;
    wordCount: number;
    sentenceCount: number;
}
export interface ValidationResult {
    score: number;
    issues: ValidationIssue[];
    summary: ValidationSummary;
    suggestions: string[];
    humanMarkers: string[];
    aiTells: string[];
}
export interface AuthenticityAnalysis {
    score: number;
    humanMarkers: string[];
    missingMarkers: string[];
    aiTells: string[];
}
/**
 * Core Writing Validation Engine
 */
export declare class WritingValidationEngine {
    private ruleLoader;
    private ruleSet;
    private initialized;
    constructor(guideBasePath?: string);
    /**
     * Initialize the engine by loading rules
     */
    initialize(): Promise<void>;
    /**
     * Validate content and return comprehensive results
     */
    validate(content: string, context?: ValidationContext): Promise<ValidationResult>;
    /**
     * Validate a file
     */
    validateFile(filePath: string, context?: ValidationContext): Promise<ValidationResult>;
    /**
     * Validate multiple files in batch
     */
    validateBatch(files: string[], context?: ValidationContext): Promise<Map<string, ValidationResult>>;
    /**
     * Detect banned phrases in content
     */
    detectBannedPhrases(content: string, context?: ValidationContext): ValidationIssue[];
    /**
     * Detect AI writing patterns
     */
    detectAIPatterns(content: string, context?: ValidationContext): ValidationIssue[];
    /**
     * Detect formulaic structures
     */
    detectFormulicStructures(content: string): ValidationIssue[];
    /**
     * Analyze content for authenticity markers
     */
    analyzeAuthenticity(content: string): AuthenticityAnalysis;
    /**
     * Validate content for specific context
     */
    validateForContext(content: string, context: 'academic' | 'technical' | 'executive' | 'casual'): Promise<ValidationResult>;
    /**
     * Load rules from AIWG
     */
    loadRulesFromGuide(guidePath: string): void;
    /**
     * Update rules with custom rule set
     */
    updateRules(rules: Partial<RuleSet>): void;
    /**
     * Generate report from validation results
     */
    generateReport(results: ValidationResult | Map<string, ValidationResult>, format: 'text' | 'json' | 'html'): string;
    private findPatternMatches;
    private calculateSummary;
    private calculateOverallScore;
    private generateSuggestions;
    private getContextAdjustments;
    private generateTextReport;
    private generateBatchReport;
    private generateHtmlReport;
}
//# sourceMappingURL=validation-engine.d.ts.map