import { useState, useEffect } from 'react' export function useDebounce(value: T, delay: number): T { const [debounced, setDebounced] = useState(value) useEffect(() => { const timer = setTimeout(() => setDebounced(value), delay) return () => clearTimeout(timer) }, [value, delay]) return debounced }