export interface DocumentationResult {
    score: number;
    coverage: number;
    qualityScore: number;
    readabilityScore: number;
    apiDocumentationScore: number;
    readmeQuality: ReadmeQuality;
    apiDocumentation: ApiDocumentation;
    missingDocs: string[];
    suggestions: string[];
    issues: DocumentationIssue[];
    strengths: string[];
    recommendations: DocumentationRecommendation[];
    fileAnalysis: FileDocumentationAnalysis[];
}
export interface ReadmeQuality {
    exists: boolean;
    score: number;
    wordCount: number;
    sectionCount: number;
    codeExampleCount: number;
    linkCount: number;
    missingEssentialSections: string[];
    readabilityMetrics: ReadabilityMetrics;
    structureScore: number;
    contentQuality: number;
}
export interface ReadabilityMetrics {
    averageWordsPerSentence: number;
    averageSentencesPerParagraph: number;
    complexWordCount: number;
    readingLevel: 'elementary' | 'middle' | 'high_school' | 'college' | 'graduate';
    readingTimeMinutes: number;
}
export interface ApiDocumentation {
    totalFunctions: number;
    documentedFunctions: number;
    totalClasses: number;
    documentedClasses: number;
    totalInterfaces: number;
    documentedInterfaces: number;
    totalTypes: number;
    documentedTypes: number;
    apiCoveragePercentage: number;
    qualityScore: number;
    missingParameterDocs: string[];
    missingReturnDocs: string[];
    missingExampleDocs: string[];
    outdatedDocs: string[];
}
export interface DocumentationIssue {
    type: 'missing' | 'incomplete' | 'outdated' | 'poor_quality' | 'inconsistent';
    severity: 'critical' | 'high' | 'medium' | 'low';
    file: string;
    line?: number;
    message: string;
    suggestion: string;
    element?: string;
}
export interface DocumentationRecommendation {
    priority: 'critical' | 'high' | 'medium' | 'low';
    category: 'content' | 'structure' | 'api' | 'examples' | 'maintenance';
    title: string;
    description: string;
    effort: 'low' | 'medium' | 'high';
    impact: 'low' | 'medium' | 'high';
    actionItems: string[];
}
export interface FileDocumentationAnalysis {
    file: string;
    type: 'source' | 'markdown' | 'config' | 'other';
    score: number;
    issues: number;
    strengths: string[];
    weaknesses: string[];
    functionDocumentationRatio: number;
    classDocumentationRatio: number;
    hasFileHeader: boolean;
    hasExamples: boolean;
}
export declare class DocumentationAnalyzer {
    private projectRoot;
    private essentialFiles;
    private readmeSections;
    constructor(projectRoot: string);
    analyze(): Promise<DocumentationResult>;
    private analyzeReadmeQuality;
    private analyzeApiDocumentation;
    private analyzeFileApiDocumentation;
    private analyzeCoverageAndQuality;
    private checkPackageJsonDocumentation;
    private checkDocsDirectoryStructure;
    private analyzeReadability;
    private calculateReadabilityMetrics;
    private analyzeFileDocumentation;
    private analyzeIndividualFile;
    private calculateApiQualityScore;
    private calculateQualityScore;
    private calculateOverallScore;
    private generateRecommendations;
}
//# sourceMappingURL=DocumentationAnalyzer.d.ts.map