import { DocumentGenerator, GenerationResult } from './DocumentGenerator.js';
import { AIProcessor } from '../ai/AIProcessor.js';
export interface EnhancedGenerationOptions {
    projectId?: string;
    applyFeedbackImprovements?: boolean;
    learningMode?: boolean;
    qualityThreshold?: number;
    maxIterations?: number;
}
export interface EnhancedGenerationResult extends GenerationResult {
    feedbackInsights?: {
        appliedImprovements: string[];
        qualityPrediction: number;
        recommendedActions: string[];
        documentsImproved?: string[];
    };
    qualityMetrics?: {
        beforeScore: number;
        afterScore: number;
        improvement: number;
    };
    learningData?: {
        promptOptimizations: number;
        feedbackProcessed: number;
        patternsIdentified: string[];
    };
}
export declare class FeedbackEnhancedGenerator extends DocumentGenerator {
    private feedbackService;
    private enhancedOptions;
    constructor(context: string, options?: Partial<EnhancedGenerationOptions & import('./types').GenerationOptions>, aiProcessor?: AIProcessor);
    /**
     * Generate documents with feedback-driven improvements
     */
    generateWithFeedbackEnhancement(): Promise<EnhancedGenerationResult>;
    /**
     * Generate a single document with feedback enhancement
     */
    generateOneWithFeedback(documentKey: string, projectId?: string): Promise<{
        success: boolean;
        qualityScore?: number;
        improvements?: string[];
    }>;
    /**
     * Assess quality of generated documents
     */
    private assessGeneratedQuality;
    /**
     * Assess quality of a specific document
     */
    private assessDocumentQuality;
    /**
     * Perform iterative improvement based on quality assessment
     */
    private performIterativeImprovement;
    /**
     * Apply targeted improvement to a specific document type
     */
    private applyTargetedImprovement;
    /**
     * Print enhanced generation summary
     */
    private printEnhancedSummary;
    /**
     * Static method to create feedback-enhanced generator with project context
     */
    static createForProject(projectId: string, context: string, options?: Partial<EnhancedGenerationOptions>): Promise<FeedbackEnhancedGenerator>;
}
//# sourceMappingURL=FeedbackEnhancedGenerator.d.ts.map