const debounce = unknown>(callback: T, ms: number) => { let timeout: ReturnType; return (...args: any[]) => { clearTimeout(timeout); timeout = setTimeout(() => callback(...args), ms); }; }; export default debounce;