/**
 * Prompt Optimization Engine
 *
 * Analyzes and improves prompts to reduce AI patterns and increase authentic output quality.
 * Incorporates AIWG principles to transform vague prompts into specific,
 * constraint-rich instructions that produce human-like content.
 */
export interface OptimizationResult {
    originalPrompt: string;
    optimizedPrompt: string;
    improvements: Improvement[];
    score: {
        before: number;
        after: number;
        delta: number;
    };
    reasoning: string;
}
export interface Improvement {
    type: 'specificity' | 'constraints' | 'examples' | 'voice' | 'anti_pattern';
    description: string;
    before: string;
    after: string;
    impact: 'high' | 'medium' | 'low';
}
export interface PromptAnalysis {
    score: number;
    issues: AnalysisIssue[];
    strengths: string[];
    antiPatterns: AntiPattern[];
    suggestions: string[];
}
export interface AnalysisIssue {
    severity: 'critical' | 'warning' | 'info';
    category: string;
    message: string;
    location?: string;
}
export interface AntiPattern {
    pattern: string;
    description: string;
    example: string;
    fix: string;
    locations: number[];
}
export interface OptimizationContext {
    domain?: 'technical' | 'academic' | 'executive' | 'creative';
    audience?: string;
    targetLength?: number;
    voice?: 'academic' | 'technical' | 'executive';
    constraints?: string[];
}
export interface ComparisonResult {
    differences: Difference[];
    improvement: number;
    summary: string;
}
export interface Difference {
    type: 'added' | 'removed' | 'modified';
    before?: string;
    after?: string;
    reason: string;
}
/**
 * Core Prompt Optimizer class
 */
export declare class PromptOptimizer {
    private bannedPhrases;
    constructor();
    /**
     * Core optimization - analyzes and improves a prompt
     */
    optimize(prompt: string, context?: OptimizationContext): Promise<OptimizationResult>;
    /**
     * Batch optimization - process multiple prompts
     */
    optimizeBatch(prompts: string[]): Promise<Map<string, OptimizationResult>>;
    /**
     * Analyze prompt quality
     */
    analyzePrompt(prompt: string): PromptAnalysis;
    /**
     * Detect anti-patterns in prompts
     */
    detectAntiPatterns(prompt: string): AntiPattern[];
    /**
     * Score prompt quality (0-100)
     */
    scorePromptQuality(prompt: string): number;
    /**
     * Add specificity to vague prompts
     */
    addSpecificity(prompt: string, context?: OptimizationContext): {
        prompt: string;
        improved: boolean;
    };
    /**
     * Add examples to prompts
     */
    addExamples(prompt: string, domain?: string): {
        prompt: string;
        improved: boolean;
    };
    /**
     * Add constraints to avoid AI patterns
     */
    addConstraints(prompt: string, rules: string[]): {
        prompt: string;
        improved: boolean;
    };
    /**
     * Inject voice guidance for different contexts
     */
    injectVoiceGuidance(prompt: string, voice: 'academic' | 'technical' | 'executive'): {
        prompt: string;
        improved: boolean;
    };
    /**
     * Remove vague language
     */
    removeVagueness(prompt: string): {
        prompt: string;
        improved: boolean;
    };
    /**
     * Compare original and optimized prompts
     */
    comparePrompts(original: string, optimized: string): ComparisonResult;
    /**
     * Load principles from AIWG
     */
    loadPrinciplesFromGuide(_guidePath: string): void;
    private loadBannedPhrases;
    private needsSpecificity;
    private needsExamples;
    private needsConstraints;
    private isVague;
    private hasConstraints;
    private hasExamples;
    private hasAudience;
    private hasFormat;
    private hasVoiceGuidance;
    private hasMetrics;
    private hasNumericMetrics;
    private hasSpecificTechnologies;
    private hasBannedPhrases;
    private makeTopicSpecific;
    private generateConstraints;
    private generateExampleGuidance;
    private formatConstraints;
    private getVoiceGuidance;
    private fixAntiPattern;
    private generateReasoning;
    private generateComparisonSummary;
}
//# sourceMappingURL=prompt-optimizer.d.ts.map