// ebounce function export function debounce any>(func: T, delay: number): (...args: Parameters) => void { let timeoutId: ReturnType | null = null; return (...args: Parameters) => { if (timeoutId !== null) { clearTimeout(timeoutId); } timeoutId = setTimeout(() => func(...args), delay); }; }