/**
 * Performance monitoring tool for tracking execution time and performance metrics of various operations
 */
declare class PerformanceMonitor {
    private metrics;
    private readonly slowThreshold;
    constructor(slowThresholdMs?: number);
    /**
     * Decorator factory for monitoring method performance
     * @param category Operation category
     * @returns Decorator function
     */
    trackTime(category: string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
    /**
     * Record performance metric
     * @param category Operation category
     * @param time Execution time (milliseconds)
     */
    recordMetric(category: string, time: number): void;
    /**
     * Get summary of all performance metrics
     * @returns Performance metrics summary
     */
    getMetricsSummary(): Record<string, {
        count: number;
        avgTime: number;
        minTime: number;
        maxTime: number;
    }>;
    /**
     * Log current performance metrics
     */
    logMetrics(): void;
    /**
     * Reset all performance metrics
     */
    resetMetrics(): void;
    private static _instance;
    static get instance(): PerformanceMonitor;
}
export default PerformanceMonitor;
export declare const trackTime: (category: string) => (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
