import { type RefObject } from 'react';
import { DisplacementFilter } from 'pixi.js';
import ResourceManager from '../managers/ResourceManager';
interface UseIdleTimerProps {
    sliderRef: RefObject<HTMLDivElement | null>;
    cursorActive: RefObject<boolean>;
    bgDispFilterRef: RefObject<DisplacementFilter | null>;
    cursorDispFilterRef: RefObject<DisplacementFilter | null>;
    cursorImgEffect: boolean;
    defaultBgFilterScale: number;
    defaultCursorFilterScale: number;
    idleTimeout?: number;
    resourceManager?: ResourceManager | null;
}
/**
 * Hook to manage idle timer for resetting displacement effects
 * Fully optimized with:
 * - Batch resource management
 * - Efficient timer handling
 * - Comprehensive error handling
 * - Memory leak prevention
 * - Optimized animation management
 * - Cancellation mechanisms
 * - Animation coordination
 */
declare const useIdleTimer: ({ sliderRef, cursorActive, bgDispFilterRef, cursorDispFilterRef, cursorImgEffect, defaultBgFilterScale, defaultCursorFilterScale, idleTimeout, resourceManager }: UseIdleTimerProps) => {
    resetFilters: () => void;
    restoreFilters: (immediate?: boolean) => void;
};
export default useIdleTimer;
