/**
 * Document Validation Processing Factory
 *
 * Factory pattern implementation for document-specific validation processing.
 * Creates specialized validators based on document type and context.
 *
 * @version 1.0.0
 * @author Requirements Gathering Agent Team
 * @created June 2025
 */
import { DocumentValidationContext } from './DocumentValidationRegistry';
/**
 * Result of document validation processing
 */
export interface ValidationProcessingResult {
    score: number;
    issues: string[];
    strengths: string[];
    missingElements: string[];
    contextualRelevance: number;
}
/**
 * Base abstract validator for all document types
 */
declare abstract class BaseDocumentValidator {
    protected context: DocumentValidationContext;
    protected content: string;
    constructor(context: DocumentValidationContext, content: string);
    /**
     * Main validation method - template pattern
     */
    validate(): Promise<ValidationProcessingResult>;
    /**
     * Validate contextual relevance - does the document serve its purpose?
     */
    protected abstract validateContextualRelevance(): number;
    /**
     * Validate required elements specific to this document type
     */
    protected abstract validateRequiredElements(): {
        score: number;
        issues: string[];
        strengths: string[];
        missing: string[];
    };
    /**
     * Validate only the PMBOK aspects relevant to this document type
     */
    protected validateRelevantPMBOKAspects(): {
        score: number;
        issues: string[];
        strengths: string[];
    };
    /**
     * Check only the performance domains relevant to this document type
     */
    protected checkRelevantPerformanceDomains(): string[];
    /**
     * Check only the principles relevant to this document type
     */
    protected checkRelevantPrinciples(): string[];
    /**
     * Check if document covers a specific performance domain
     */ protected hasPerformanceDomainCoverage(domain: string): boolean; /**
     * Check if document demonstrates a specific PMBOK principle
     */
    protected hasPrincipleCoverage(principle: string): boolean;
    /**
     * Check PMBOK terminology usage
     */
    protected checkPMBOKTerminologyUsage(): number;
    /**
     * Calculate weighted score based on different validation aspects
     */
    protected calculateWeightedScore(relevanceScore: number, requiredElementsScore: number, pmbokScore: number): number;
}
/**
 * Validation Processing Factory
 */
export declare class ValidationProcessingFactory {
    /**
     * Create appropriate validator for document type
     */
    static createValidator(documentType: string, content: string): BaseDocumentValidator;
    /**
     * Process validation for a document
     */
    static processValidation(documentType: string, content: string): Promise<ValidationProcessingResult>;
}
export {};
//# sourceMappingURL=ValidationProcessingFactory.d.ts.map