/**
 * Voice Analyzer
 *
 * Analyzes content voice characteristics, detects voice type,
 * and scores diversity between variations.
 */
import { Voice, Perspective, Tone } from './content-diversifier.js';
export interface VoiceProfile {
    primaryVoice: Voice | 'mixed';
    confidence: number;
    characteristics: {
        academic: number;
        technical: number;
        executive: number;
        casual: number;
    };
    markers: VoiceMarker[];
    perspective: Perspective;
    tone: Tone;
    metadata: {
        wordCount: number;
        sentenceCount: number;
        averageSentenceLength: number;
    };
}
export interface VoiceMarker {
    type: Voice;
    text: string;
    position: number;
    strength: 'strong' | 'moderate' | 'weak';
}
export interface ComparisonResult {
    similarity: number;
    differences: Difference[];
    voiceShift: {
        from: Voice | 'mixed';
        to: Voice | 'mixed';
        magnitude: number;
    };
    structuralChanges: string[];
}
export interface Difference {
    type: 'addition' | 'removal' | 'modification';
    description: string;
    impact: 'high' | 'medium' | 'low';
}
/**
 * Voice Analyzer for content characteristics
 */
export declare class VoiceAnalyzer {
    private readonly voicePatterns;
    constructor();
    /**
     * Analyze voice characteristics of content
     */
    analyzeVoice(content: string): VoiceProfile;
    /**
     * Detect primary voice of content
     */
    detectVoice(content: string): Voice | 'mixed';
    /**
     * Score diversity between multiple variations
     */
    scoreDiversity(variations: string[]): number;
    /**
     * Compare two variations and identify differences
     */
    compareVariations(original: string, variation: string): ComparisonResult;
    /**
     * Detect perspective used in content
     */
    detectPerspective(content: string): Perspective;
    /**
     * Detect tone of content
     */
    detectTone(content: string): Tone;
    /**
     * Analyze voice consistency across content sections
     */
    analyzeConsistency(content: string, sectionSize?: number): {
        overallConsistency: number;
        sectionProfiles: VoiceProfile[];
        inconsistencies: string[];
    };
    private initializeVoicePatterns;
    private scoreVoices;
    private detectMarkers;
    private calculateSimilarity;
    private levenshteinDistance;
    private identifyDifferences;
    private detectStructuralChanges;
    private countWords;
    private countSentences;
    private splitIntoSections;
    private findMostCommon;
}
//# sourceMappingURL=voice-analyzer.d.ts.map