/** * A custom hook for debouncing function calls. * * @param callback - The function to debounce * @param delay - The delay in milliseconds (default: 300) * @returns The debounced callback function * * @example * ```tsx * import { useDebouncedCallback } from '@sqlrooms/ui'; * * function AutoSaveForm() { * const [formData, setFormData] = useState({ name: '', email: '' }); * * const debouncedSave = useDebouncedCallback( * (data: typeof formData) => { * // This will only run 300ms after the user stops typing * saveToServer(data); * }, * 300 * ); * * const handleChange = (field: string, value: string) => { * const newData = { ...formData, [field]: value }; * setFormData(newData); * debouncedSave(newData); * }; * * return ( *
* handleChange('name', e.target.value)} * /> * handleChange('email', e.target.value)} * /> *
* ); * } * ``` */ export declare function useDebouncedCallback void>(callback: T, delay?: number): T; //# sourceMappingURL=useDebouncedCallback.d.ts.map