/** * Performance Monitoring features for tracking Core Web Vitals and custom metrics * Dynamically imported to reduce core bundle size */ import { ConversionIQConfig } from '../types/index'; interface PerformanceMetrics { lcp?: number; fid?: number; cls?: number; fcp?: number; ttfb?: number; domContentLoaded?: number; loadComplete?: number; domInteractive?: number; resourceCount?: number; totalResourceSize?: number; dnsLookup?: number; tcpConnect?: number; customMarks?: Record; customMeasures?: Record; } export declare class PerformanceMonitoring { private config; private sdk; private metrics; private isActive; private observers; constructor(config: ConversionIQConfig, sdk: any); /** * Start performance monitoring */ start(): void; /** * Stop performance monitoring */ stop(): void; /** * Collect initial performance metrics */ private collectInitialMetrics; /** * Setup Core Web Vitals observers */ private setupCoreWebVitalsObservers; /** * Setup resource timing observer */ private setupResourceTimingObserver; /** * Setup navigation timing observer */ private setupNavigationTimingObserver; /** * Setup user timing observer */ private setupUserTimingObserver; /** * Generic metric observer setup */ private observeMetric; /** * Schedule periodic metrics collection */ private scheduleMetricsCollection; /** * Send performance data to API */ private sendPerformanceData; /** * Check performance thresholds and send alerts */ private checkPerformanceThresholds; /** * Add custom performance mark */ mark(name: string): void; /** * Add custom performance measure */ measure(name: string, startMark?: string, endMark?: string): void; /** * Get current performance metrics */ getMetrics(): PerformanceMetrics; /** * Get Core Web Vitals score */ getCoreWebVitalsScore(): { lcp: 'good' | 'needs-improvement' | 'poor' | 'unknown'; fid: 'good' | 'needs-improvement' | 'poor' | 'unknown'; cls: 'good' | 'needs-improvement' | 'poor' | 'unknown'; overall: 'good' | 'needs-improvement' | 'poor'; }; /** * Get resource type from URL */ private getResourceType; /** * Get connection information */ private getConnectionInfo; /** * Check if Performance API is available */ private isPerformanceAPIAvailable; /** * Clear all performance data */ clearData(): void; } export {}; //# sourceMappingURL=PerformanceMonitoring.d.ts.map