import React from 'react';
export interface PerformanceMetrics {
    renderTime: number;
    memoryUsage: number;
    frameRate: number;
    networkSpeed: string;
    deviceCapabilities: {
        supportsGPU: boolean;
        supportsBackdropFilter: boolean;
        devicePixelRatio: number;
    };
}
export interface PerformanceState {
    isOptimized: boolean;
    performanceMode: 'high' | 'balanced' | 'low';
    metrics: PerformanceMetrics | null;
    isLoading: boolean;
    error: string | null;
}
/**
 * Enhanced performance monitoring and optimization hook
 */
export declare function useEnhancedPerformance(options?: {
    enableMetrics?: boolean;
    metricsInterval?: number;
    adaptiveMode?: boolean;
    onPerformanceChange?: (state: PerformanceState) => void;
}): PerformanceState & {
    startMeasure: (name: string) => void;
    endMeasure: (name: string) => number | null;
    optimizeForDevice: () => void;
    clearMetrics: () => void;
};
/**
 * Hook for performance-aware rendering
 */
export declare function usePerformanceAwareRendering<T>(data: T[], options?: {
    itemsPerPage?: number;
    enableVirtualization?: boolean;
    performanceThreshold?: number;
}): {
    visibleData: T[];
    shouldVirtualize: boolean;
    currentPage: number;
    totalPages: number;
    setPage: (page: number) => void;
};
/**
 * Hook for lazy loading with performance awareness
 */
export declare function usePerformanceLazyLoading(enabled?: boolean, options?: {
    threshold?: number;
    rootMargin?: string;
    performanceMode?: 'high' | 'balanced' | 'low';
}): {
    ref: React.RefObject<HTMLElement>;
    isIntersecting: boolean;
    shouldLoad: boolean;
};
/**
 * Hook for adaptive image loading based on performance
 */
export declare function useAdaptiveImageLoading(src: string, options?: {
    lowQualitySrc?: string;
    webpSrc?: string;
    avifSrc?: string;
    sizes?: string;
}): {
    currentSrc: string;
    isLoading: boolean;
    error: string | null;
};
//# sourceMappingURL=useEnhancedPerformance.d.ts.map