interface PerformanceMetric {
    name: string;
    duration: number;
    timestamp: number;
}
/**
 * Start a performance measurement
 */
export declare function startMeasure(name: string): void;
/**
 * End a performance measurement and log the duration
 */
export declare function endMeasure(name: string, logToConsole?: boolean): number | null;
/**
 * Measure a synchronous function
 */
export declare function measureSync<T>(name: string, fn: () => T, logToConsole?: boolean): T;
/**
 * Measure an async function
 */
export declare function measureAsync<T>(name: string, fn: () => Promise<T>, logToConsole?: boolean): Promise<T>;
/**
 * Get all recorded metrics
 */
export declare function getMetrics(): PerformanceMetric[];
/**
 * Get metrics for a specific measurement name
 */
export declare function getMetricsByName(name: string): PerformanceMetric[];
/**
 * Get average duration for a metric
 */
export declare function getAverageDuration(name: string): number | null;
/**
 * Clear all metrics
 */
export declare function clearMetrics(): void;
/**
 * Log a summary of all metrics
 */
export declare function logSummary(): void;
/**
 * Enable performance monitoring
 */
export declare function enable(): void;
/**
 * Disable performance monitoring
 */
export declare function disable(): void;
export {};
//# sourceMappingURL=performance.d.ts.map