import React from 'react';
import { type GlassOptions } from '../core/mixins/glassMixins';
export interface GlassOptimizationConfig {
    enableAdaptiveBlur?: boolean;
    enablePerformanceMode?: boolean;
    enableAccessibilityMode?: boolean;
    enableBatching?: boolean;
    maxConcurrentAnimations?: number;
    throttleAnimations?: boolean;
}
export interface OptimizedGlassStyles {
    base: React.CSSProperties;
    hover: React.CSSProperties;
    focus: React.CSSProperties;
    disabled: React.CSSProperties;
    loading: React.CSSProperties;
}
/**
 * Comprehensive glass optimization hook that adapts to device capabilities and user preferences
 */
export declare function useGlassOptimization(baseOptions?: GlassOptions, config?: GlassOptimizationConfig): {
    optimizedOptions: GlassOptions;
    optimizedStyles: OptimizedGlassStyles;
    performanceMode: "low" | "high" | "balanced";
    isHighPerformance: boolean;
    isLowPerformance: boolean;
    shouldReduceEffects: boolean;
    shouldUseHighContrast: boolean;
    executeAnimation: (animationFn: () => void) => void;
    batchAnimation: (animationFn: () => void) => void;
    activeAnimations: number;
    metrics: import("./useEnhancedPerformance").PerformanceMetrics | null;
};
/**
 * Hook for optimized glass component rendering
 */
export declare function useOptimizedGlassComponent<P extends object>(Component: React.ComponentType<P>, glassOptions?: GlassOptions, optimizationConfig?: GlassOptimizationConfig): React.MemoExoticComponent<React.ForwardRefExoticComponent<React.PropsWithoutRef<P> & React.RefAttributes<any>>>;
/**
 * Hook for adaptive component loading based on performance
 */
export declare function useAdaptiveComponentLoading<T>(heavyComponent: () => Promise<{
    default: React.ComponentType<T>;
}>, lightComponent: React.ComponentType<T>, threshold?: {
    memoryUsage?: number;
    frameRate?: number;
    networkSpeed?: string[];
}): {
    Component: React.ComponentType<T> | null;
    isLoading: boolean;
    error: Error | null;
};
//# sourceMappingURL=useGlassOptimization.d.ts.map