import { TemplateResult } from 'lit-html'; type MonitorFpsDetail = { fps: number | null; refreshRate: number | null; frameTimeAvg: number | null; frameTimeP95: number | null; frameTimeMax: number | null; droppedFrames: number; jankFrames: number; longFrames: number; }; declare class MonitorFps extends HTMLElement { #private; requestRender: () => void; accessor paused: boolean; accessor canvasEl: HTMLCanvasElement | null; connectedCallback(): void; disconnectedCallback(): void; afterRender(): void; render(): TemplateResult; } type CoreWebVitals = { LCP: number | null; INP: number | null; CLS: number; FCP: number | null; TBT: number; }; type NavigationMetrics = { ttfb: number | null; domInteractive: number | null; loadTime: number | null; }; type ResourceSummary = { js: { count: number; size: number; }; css: { count: number; size: number; }; img: { count: number; size: number; }; other: { count: number; size: number; }; totalSize: number; }; type MemoryUsage = { jsHeapSizeLimit: number; totalJSHeapSize: number; usedJSHeapSize: number; } | null; interface PerformanceMetrics { coreWebVitals: CoreWebVitals; navigation: NavigationMetrics; resources: ResourceSummary; memory: MemoryUsage; fps: number | null; longTasks: { count: number; totalDuration: number; }; } interface ConnectionInfo { effectiveType: string; rtt: number; } declare global { interface Performance { memory?: { jsHeapSizeLimit: number; totalJSHeapSize: number; usedJSHeapSize: number; }; } interface Navigator { connection?: { effectiveType: string; rtt: number; addEventListener: (type: string, listener: EventListener) => void; removeEventListener: (type: string, listener: EventListener) => void; }; } } declare class Monitor extends HTMLElement { requestRender: () => void; accessor metrics: PerformanceMetrics; accessor network: ConnectionInfo; private observers; private memoryInterval; private clsEntries; private inpEntries; private maxINP; private longTaskEntries; private trendHistory; private maxTrendLength; connectedCallback(): void; disconnectedCallback(): void; handleFpsUpdate(event: CustomEvent): void; private handlePageLoad; private initObservers; private collectInitialMetrics; private collectNavigationTiming; private processPerformanceEntry; private calculateSessionWindowCLS; private processResourceEntries; private calculateLongTasksAndTBT; private startMemoryMonitoring; private stopMemoryMonitoring; private initNetworkMonitoring; private stopNetworkMonitoring; private updateNetworkInfo; private updateTrend; private getTrendDirection; private getOverallStatus; render(): TemplateResult; private renderExpanded; private renderMetricBox; private renderVitalsAndTiming; private renderRealtime; private renderMemory; private renderNetworkInfo; private renderResources; } export { Monitor as M, MonitorFps as a };