/** * Performance monitoring for Virtualize * Tracks render time, scroll performance, memory usage, etc. */ export interface PerformanceMetrics { renderTime: number; itemsRendered: number; itemsMeasured: number; scrollFPS: number; scrollDelta: number; memoryUsed: number; cacheSize: number; } export interface PerformanceWarnings { slowRender?: boolean; lowFPS?: boolean; highMemory?: boolean; largeCache?: boolean; } /** * Performance metrics collector */ export declare class MetricsCollector { private metrics; private startTime; private lastScrollTime; private frameCount; private lastFPSTime; private isRecording; start(): void; stop(): void; /** * Record a render cycle */ recordRender(itemsRendered: number, itemsMeasured: number, cacheSize: number): void; /** * Record scroll event */ recordScroll(): void; /** * Calculate frames per second */ private calculateFPS; /** * Get average metrics */ getAverageMetrics(): Partial; /** * Check for performance issues */ checkWarnings(): PerformanceWarnings; /** * Get detailed report */ getReport(): string; /** * Clear metrics */ clear(): void; } export declare function usePerformanceMonitoring(enabled?: boolean): { recordRender: (rendered: number, measured: number, cacheSize: number) => void; recordScroll: () => void; getMetrics: () => Partial; getWarnings: () => PerformanceWarnings; getReport: () => string; }; /** * Browser DevTools integration */ export declare class VirtualizeDevTools { static inject(): void; static getMetrics(): any; static generateReport(): any; } /** * Performance profiler for detailed analysis */ export declare class PerformanceProfiler { private marks; private measures; mark(label: string): void; measure(label: string, startMark: string, endMark?: string): number; getMeasures(): { [k: string]: number; }; generateFlameChart(width?: number): string; clear(): void; } /** * Memory leak detector */ export declare class MemoryLeakDetector { private initialMemory; private measurements; start(): void; measure(): void; /** * Detect if memory is continuously growing (potential leak) */ detectLeak(sampleSize?: number, threshold?: number): boolean; getReport(): { initialMemory: string; currentMemory: string; trend: string; potentialLeak: boolean; }; clear(): void; } //# sourceMappingURL=metrics.d.ts.map