import { PerformanceMetrics } from '../components/core/ScrollArea/smooth/SmoothScrollEngine.types';
/**
 * Performance monitoring for smooth scroll engine
 * Tracks FPS, frame drops, and average frame time
 */
export declare class PerformanceMonitor {
    private frames;
    private droppedFrames;
    private totalFrames;
    private lastReportTime;
    private targetFPS;
    private targetFrameTime;
    private onUpdate;
    private reportInterval;
    constructor(targetFPS?: number);
    /**
     * Record a frame
     * @param timestamp - Current timestamp from RAF
     */
    recordFrame(timestamp: number): void;
    /**
     * Record a dropped frame
     */
    recordDroppedFrame(): void;
    /**
     * Calculate and report metrics
     */
    private report;
    /**
     * Set callback for metrics updates
     */
    setOnUpdate(callback: (metrics: PerformanceMetrics) => void): void;
    /**
     * Update target FPS
     */
    setTargetFPS(fps: number): void;
    /**
     * Get target frame time
     */
    getTargetFrameTime(): number;
    /**
     * Reset all metrics
     */
    reset(): void;
    /**
     * Destroy the monitor
     */
    destroy(): void;
}
/**
 * React hook wrapper for PerformanceMonitor
 * @param targetFPS - Target frames per second
 * @param onUpdate - Callback for metrics updates
 * @returns PerformanceMonitor instance
 */
export declare function usePerformanceMonitor(targetFPS?: number, onUpdate?: (metrics: PerformanceMetrics) => void): PerformanceMonitor;
