interface PerformanceMetrics { bundleSize: { raw: number; gzipped: number; minified: number; }; runtime: { renderTime: number; uploadSpeed: number; memoryUsage: number; cpuUsage: number; }; userExperience: { timeToInteractive: number; firstUploadTime: number; errorRate: number; successRate: number; }; } declare class PerformanceMonitor { private static instance; private events; private startTime; private renderStartTime; private uploadStartTimes; private constructor(); static getInstance(): PerformanceMonitor; startRender(): void; endRender(): number; startUpload(fileId: string): void; endUpload(fileId: string, success: boolean): number; recordEvent(type: "render" | "upload" | "validation" | "error" | "success", metadata?: Record): void; getMetrics(): PerformanceMetrics; private getBundleSize; private getMemoryUsage; private getCpuUsage; private getTimeToInteractive; private getFirstUploadTime; reset(): void; exportData(): Array<{ type: "render" | "upload" | "validation" | "error" | "success"; timestamp: number; duration?: number; metadata?: Record; }>; } declare class PerformanceOptimizer { static debounce any>(func: T, wait: number): (...args: Parameters) => void; static throttle any>(func: T, limit: number): (...args: Parameters) => void; static memoize any>(func: T, keyGenerator?: (...args: Parameters) => string): T; static retry(operation: () => Promise, options?: { maxAttempts?: number; delay?: number; }): Promise; } export { type PerformanceMetrics, PerformanceMonitor, PerformanceOptimizer };