import { default as React } from 'react'; export declare const performanceUtils: { mark: (name: string) => void; measure: (name: string, startMark: string, endMark?: string) => number; getEntries: (name?: string) => PerformanceEntryList; clearEntries: (name?: string) => void; }; export declare const usePerformanceMark: (name: string, dependencies?: unknown[]) => void; export declare const useStableCallback: unknown>(callback: T) => T; export declare const useDebugMemo: (factory: () => T, deps: unknown[], debugName?: string) => T; export declare const useRenderCount: (componentName: string) => void; export declare const getRenderCounts: () => { [k: string]: number; }; export declare const clearRenderCounts: () => void; export declare const createLazyComponentFactory: >>(importFunc: () => Promise<{ default: T; }>) => React.LazyExoticComponent; export declare const useImageLazyLoading: (threshold?: number) => { loadedImages: Set; observeImage: (element: HTMLImageElement | null) => void; }; export declare const preloadRoute: (routeImport: () => Promise) => void; export interface WebVitalsMetrics { FCP?: number; LCP?: number; FID?: number; CLS?: number; TTFB?: number; } export declare const reportWebVitals: (metric: { name: string; value: number; }) => void; export declare const getWebVitals: () => WebVitalsMetrics; export declare const prefetchResource: (href: string, as?: string) => void; export declare const preloadResource: (href: string, as?: string, crossorigin?: boolean) => void; export declare const useMemoryLeakDetection: (componentName: string) => { createTimer: (callback: () => void, delay: number) => NodeJS.Timeout; createInterval: (callback: () => void, delay: number) => NodeJS.Timeout; }; export declare const performanceBudget: { maxBundleSize: number; maxChunkSize: number; maxImageSize: number; maxFCP: number; maxLCP: number; maxFID: number; maxCLS: number; check: (metrics: WebVitalsMetrics) => string[]; }; declare const _default: { performanceUtils: { mark: (name: string) => void; measure: (name: string, startMark: string, endMark?: string) => number; getEntries: (name?: string) => PerformanceEntryList; clearEntries: (name?: string) => void; }; usePerformanceMark: (name: string, dependencies?: unknown[]) => void; useStableCallback: unknown>(callback: T) => T; useDebugMemo: (factory: () => T, deps: unknown[], debugName?: string) => T; useRenderCount: (componentName: string) => void; createLazyComponentFactory: >>(importFunc: () => Promise<{ default: T; }>) => React.LazyExoticComponent; useImageLazyLoading: (threshold?: number) => { loadedImages: Set; observeImage: (element: HTMLImageElement | null) => void; }; preloadRoute: (routeImport: () => Promise) => void; reportWebVitals: (metric: { name: string; value: number; }) => void; getWebVitals: () => WebVitalsMetrics; prefetchResource: (href: string, as?: string) => void; preloadResource: (href: string, as?: string, crossorigin?: boolean) => void; useMemoryLeakDetection: (componentName: string) => { createTimer: (callback: () => void, delay: number) => NodeJS.Timeout; createInterval: (callback: () => void, delay: number) => NodeJS.Timeout; }; performanceBudget: { maxBundleSize: number; maxChunkSize: number; maxImageSize: number; maxFCP: number; maxLCP: number; maxFID: number; maxCLS: number; check: (metrics: WebVitalsMetrics) => string[]; }; getRenderCounts: () => { [k: string]: number; }; clearRenderCounts: () => void; }; export default _default; //# sourceMappingURL=performance.d.ts.map