import { Page } from 'playwright';
export interface DataFetchingAnalysis {
    method: 'fetch with cache' | 'fetch no-store' | 'getServerSideProps' | 'getStaticProps' | 'server-action';
    cacheStatus: 'HIT' | 'MISS' | 'STALE' | 'NONE';
    revalidateTime?: number;
    waterfalls: Array<{
        component: string;
        fetchTime: string;
        blocking: boolean;
        parallel?: string[];
    }>;
}
export interface MiddlewareAnalysis {
    executionTime: string;
    affectedRoutes: number;
    memoryUsage: string;
    warnings: string[];
    matchers: string[];
}
export interface NextJSCacheInspector {
    dataCache: {
        size: string;
        entries: number;
        hitRate: string;
    };
    fullRouteCache: {
        cachedRoutes: number;
        avgAge: string;
    };
    clientRouterCache: {
        entries: number;
    };
    revalidations: Array<{
        path: string;
        timestamp: Date;
        trigger: 'time-based' | 'on-demand' | 'tag';
    }>;
}
export interface ISRMonitor {
    route: string;
    lastRevalidation: string;
    cacheStatus: 'FRESH' | 'STALE' | 'EXPIRED';
    revalidateInterval: number;
    onDemandRevalidation: boolean;
    staleSinceTime?: string;
}
/**
 * NextJS Analysis & Inspection Module
 *
 * Handles data fetching analysis, middleware inspection, and cache monitoring.
 * This module provides deep insights into Next.js application behavior.
 */
export declare class NextJSAnalysisInspection {
    private page?;
    private dataFetching;
    private middlewareMetrics;
    private cacheMetrics;
    attachToPage(page: Page): Promise<void>;
    getDataFetchingAnalysis(): Promise<DataFetchingAnalysis[]>;
    getMiddlewareAnalysis(): Promise<MiddlewareAnalysis | null>;
    getCacheInspector(): Promise<NextJSCacheInspector>;
    getISRMonitor(route?: string): Promise<ISRMonitor | null>;
    private setupDataFetchingMonitoring;
    private setupMiddlewareTracking;
    private setupCacheMonitoring;
    clearNextCache(type: 'all' | 'data' | 'full-route' | 'client'): Promise<void>;
}
//# sourceMappingURL=nextjs-analysis-inspection.d.ts.map