export interface DebounceConfig {
    delay: number;
    immediate?: boolean;
    maxWait?: number;
}
export interface ThrottleConfig {
    interval: number;
    leading?: boolean;
    trailing?: boolean;
}
export declare class EventPerformanceOptimizer {
    private debounceTimers;
    private throttleTimers;
    private lastCallTimes;
    debounce<T extends (...args: any[]) => void>(func: T, config: DebounceConfig): T;
    throttle<T extends (...args: any[]) => void>(func: T, config: ThrottleConfig): T;
    clearAll(): void;
    static getRecommendedDebounceConfig(eventType: string): DebounceConfig | null;
    static getRecommendedThrottleConfig(eventType: string): ThrottleConfig | null;
}
