aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
112 lines • 3.6 kB
TypeScript
export interface PerformanceMetrics {
fps: number;
frameTime: number;
memoryUsage: number;
renderTime: number;
layoutTime: number;
paintTime: number;
compositeTime: number;
networkLatency: number;
cacheHitRate: number;
}
export interface OptimizationConfig {
enableFPSMonitoring: boolean;
enableMemoryMonitoring: boolean;
enableNetworkMonitoring: boolean;
targetFPS: number;
maxMemoryUsage: number;
enableAdaptiveQuality: boolean;
enableVirtualization: boolean;
enableLazyLoading: boolean;
enableCaching: boolean;
enableCompression: boolean;
}
export declare class PerformanceMonitor {
private static instance;
private metrics;
private observers;
private frameCount;
private lastTime;
private config;
private measurements;
constructor(config?: Partial<OptimizationConfig>);
static getInstance(config?: Partial<OptimizationConfig>): PerformanceMonitor;
private initializeMonitoring;
private startFPSMonitoring;
private startMemoryMonitoring;
private startNetworkMonitoring;
getMetrics(): PerformanceMetrics;
isPerformanceGood(): boolean;
getOptimizationSuggestions(): string[];
startMeasure(name: string): void;
stop(): void;
getMeasurementDuration(name: string): number | null;
}
export declare class MemoryManager {
private static instance;
private cache;
private maxCacheSize;
private currentCacheSize;
constructor(maxCacheSize?: number);
static getInstance(maxCacheSize?: number): MemoryManager;
set(key: string, value: any, size?: number): void;
get(key: string): any;
delete(key: string): boolean;
clear(): void;
private evictOldEntries;
getStats(): {
size: number;
entries: number;
hitRate: number;
};
}
export declare const renderingOptimizations: {
useTransformForMovement: (element: HTMLElement, x: number, y: number) => void;
optimizeFor60FPS: (callback: () => void) => void;
batchDOMUpdates: (updates: Array<() => void>) => void;
enableCSSContainment: (element: HTMLElement) => void;
optimizeCanvasRendering: (canvas: HTMLCanvasElement) => void;
};
export declare const networkOptimizations: {
lazyLoadImage: (img: HTMLImageElement, src: string) => void;
preloadCriticalResources: (resources: string[]) => void;
cacheAPI: {
set(key: string, data: any): Promise<void>;
get(key: string): Promise<any>;
};
};
export declare class VirtualScroller {
private container;
private itemHeight;
private totalItems;
private visibleItems;
private scrollTop;
constructor(container: HTMLElement, itemHeight: number, totalItems: number, visibleItems: number);
private setupEventListeners;
private handleScroll;
private updateVisibleItems;
getVisibleRange(): {
start: number;
end: number;
};
scrollToItem(index: number): void;
}
export declare class AdaptiveQuality {
private qualityLevel;
private monitor;
constructor(monitor: PerformanceMonitor);
updateQuality(): number;
getQualitySettings(): {
particleCount: number;
textureSize: number;
shadowQuality: number;
antialiasing: boolean;
};
}
export declare const performanceUtils: {
monitor: typeof PerformanceMonitor.getInstance;
memory: typeof MemoryManager.getInstance;
adaptiveQuality: (monitor: PerformanceMonitor) => AdaptiveQuality;
virtualScroller: typeof VirtualScroller;
};
//# sourceMappingURL=performanceOptimizations.d.ts.map