import { ComponentRelation } from "../../types";
import { SEOAnalysisResult } from "../../types/seoCoverageTypes";
import { SEOAnalysisOptions, PageComponentMap, MetaTagsMap, StructuredDataMap, RoutesMap } from "./types/internalTypes";
/**
 * Main analyzer for SEO-related aspects of React applications
 */
export declare class SEOAnalyzer {
    private components;
    private pageComponents;
    private metaTags;
    private structuredData;
    private routes;
    private options;
    /**
     * Create a new SEO analyzer
     *
     * @param components Array of component relations to analyze
     * @param options Optional analysis configuration
     */
    constructor(components: ComponentRelation[], options?: SEOAnalysisOptions);
    /**
     * Run the comprehensive SEO analysis including new Next.js features
     */
    analyze(): Promise<SEOAnalysisResult>;
    /**
     * Identify page components from all components
     */
    private identifyPageComponents;
    private isUIComponent;
    /**
     * Analyze a single page component
     */
    private analyzePageComponent;
    /**
     * Get comprehensive SEO improvement suggestions including new features
     */
    getSEOImprovementSuggestions(): {
        metaTags: string[];
        headings: string[];
        landmarks: string[];
        accessibility: string[];
        content: string[];
        routing: string[];
        structuredData: string[];
        appRouter: string[];
        performance: string[];
        imageOptimization: string[];
        middleware: string[];
    };
    /**
     * Get overall SEO health score (0-100)
     */
    calculateSEOHealthScore(): {
        overallScore: number;
        categoryScores: {
            metaTags: number;
            semanticStructure: number;
            performance: number;
            appRouter: number;
            imageOptimization: number;
            accessibility: number;
        };
        criticalIssues: string[];
    };
    /**
     * Get Next.js specific recommendations
     */
    getNextJSRecommendations(): {
        appRouterMigration: string[];
        imageOptimization: string[];
        performanceOptimization: string[];
        middlewareOptimization: string[];
    };
    /**
     * Get all page components detected during analysis
     */
    getPageComponents(): PageComponentMap;
    /**
     * Get all routes detected during analysis
     */
    getRoutes(): RoutesMap;
    /**
     * Get detailed meta tag analysis for a specific page
     */
    getPageMetaTags(pagePath: string): import("../../types").MetaTagAnalysis | undefined;
    /**
     * Get structured data for a specific page
     */
    getPageStructuredData(pagePath: string): import("schema-dts").Graph | import("schema-dts").WithContext<import("schema-dts").Thing> | undefined;
    /**
     * Check if a component is a page component
     */
    isPageComponent(component: ComponentRelation): boolean;
    /**
     * Get all meta tags analysis results
     */
    getAllMetaTags(): MetaTagsMap;
    /**
     * Get all structured data analysis results
     */
    getAllStructuredData(): StructuredDataMap;
    /**
     * Get performance insights for Core Web Vitals
     */
    getCoreWebVitalsInsights(): {
        lcpIssues: number;
        clsIssues: number;
        fidIssues: number;
        recommendations: string[];
    };
    /**
     * Get bundle optimization insights
     */
    getBundleOptimizationInsights(): {
        heavyImports: number;
        criticalResources: number;
        optimizationOpportunities: string[];
        recommendations: string[];
    };
    getAppRouterReadiness(): {
        isUsingAppRouter: boolean;
        readinessScore: number;
        missingFeatures: string[];
        recommendations: string[];
    };
}
