jagran-react-doc-viewer
Version:
A highly customizable React document viewer with support for PDF, DOCX, PPTX, images, and more
35 lines • 1.39 kB
TypeScript
interface PerformanceMetric {
name: string;
startTime: number;
endTime?: number;
duration?: number;
metadata?: Record<string, any>;
}
declare class PerformanceMonitor {
private metrics;
private enabled;
enable(): void;
disable(): void;
startTimer(name: string, metadata?: Record<string, any>): void;
endTimer(name: string): number | null;
measure<T>(name: string, fn: () => T, metadata?: Record<string, any>): T;
measureAsync<T>(name: string, fn: () => Promise<T>, metadata?: Record<string, any>): Promise<T>;
getMetrics(): PerformanceMetric[];
clearMetrics(): void;
logSummary(): void;
}
export declare const performanceMonitor: PerformanceMonitor;
export declare const usePerformanceMonitor: () => {
startTimer: (name: string, metadata?: Record<string, any>) => void;
endTimer: (name: string) => number | null;
measure: <T>(name: string, fn: () => T, metadata?: Record<string, any>) => T;
measureAsync: <T>(name: string, fn: () => Promise<T>, metadata?: Record<string, any>) => Promise<T>;
};
export declare function measurePerformance(name?: string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
export declare const getMemoryUsage: () => {
used: number;
total: number;
limit: number;
} | null;
export {};
//# sourceMappingURL=performance.d.ts.map