/// // Test-specific window extensions declare global { interface Window { // Battery performance test properties performanceMetrics?: { startTime: number; memoryUsage: Array<{ used: number; total: number; limit: number; timestamp: number; }>; frameRates: Array<{ fps: number; timestamp: number; }>; scanCounts: number; errors: any[]; }; rapidScanMetrics?: { processedScans: number; droppedScans: number; averageProcessingTime: number[]; }; rateLimitTesting?: { warningsShown: number; scansBlocked: number; }; thermalTesting?: { thermalState: string; frameReductionActive: boolean; performanceAdaptations: string[]; }; resourceMonitor?: { cpuMetrics: Array<{ name: string; duration: number; timestamp: number; }>; renderMetrics: Array<{ frameDelta: number; timestamp: number; }>; startTime: number; }; leakDetector?: { eventListeners: Map; intervals: Set; timeouts: Set; }; mediaStreamTracker?: { createdStreams: number; activeStreams: number; cleanedUpStreams: number; }; // Browser globals that may not be available in all contexts gc?: () => void; } // Extend Performance interface for memory property (Chrome-specific) interface Performance { memory?: { usedJSHeapSize: number; totalJSHeapSize: number; jsHeapSizeLimit: number; }; } // Extend Navigator interface for battery API interface Navigator { getBattery?: () => Promise<{ level: number; charging: boolean; chargingTime: number; dischargingTime: number; addEventListener?: (type: string, listener: EventListener) => void; }>; } } export {};