/**
 * useLayoutOptimization hook
 *
 * Custom hook to apply performance optimizations to layout components
 */
/**
 * Hook for optimizing layout performance
 * @param {Object} options - Configuration options
 * @param {boolean} options.virtualize - Whether to virtualize large lists
 * @param {boolean} options.lazyLoad - Whether to lazy load components
 * @param {boolean} options.disableAnimations - Whether to disable animations on low-end devices
 * @param {boolean} options.reduceMotion - Whether to respect reduce motion preferences
 * @returns {Object} Optimization utilities and configuration
 *
 * @example
 * const {
 *   shouldVirtualize,
 *   shouldLazyLoad,
 *   areAnimationsEnabled,
 *   isVisible,
 *   elementRef
 * } = useLayoutOptimization();
 *
 * // Use with an intersection observer for lazy loading
 * <div ref={elementRef}>
 *   {isVisible && <HeavyComponent />}
 * </div>
 */
export declare function useLayoutOptimization({ virtualize, lazyLoad, disableAnimations, reduceMotion }?: {
    virtualize?: boolean | undefined;
    lazyLoad?: boolean | undefined;
    disableAnimations?: boolean | undefined;
    reduceMotion?: boolean | undefined;
}): {
    shouldVirtualize: boolean;
    shouldLazyLoad: boolean;
    areAnimationsEnabled: boolean;
    isLowEndDevice: boolean;
    prefersReducedMotion: boolean;
    isVisible: boolean;
    elementRef: import("react").MutableRefObject<null>;
    optimizeListRendering: (items: any, threshold?: number) => any;
};
export default useLayoutOptimization;
//# sourceMappingURL=useLayoutOptimization.d.ts.map