import { type RefObject } from 'react'; import { DisplacementFilter } from 'pixi.js'; import ResourceManager from '../managers/ResourceManager'; interface UseIdleTimerProps { sliderRef: RefObject; cursorActive: RefObject; bgDispFilterRef: RefObject; cursorDispFilterRef: RefObject; 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;