/**
* Debounces a value, delaying updates until after the specified delay has elapsed.
*
* @remarks
* This hook returns a debounced version of the provided value that only updates
* after the value has stopped changing for the specified delay. Useful for optimizing
* performance in scenarios like search inputs, where you want to avoid triggering
* expensive operations on every keystroke.
*
* The debounce timer resets on every value change and cleans up automatically on unmount.
*
* @typeParam T - The type of the value being debounced.
* @param value - The value to debounce.
* @param delay - The delay in milliseconds before the debounced value updates.
* @returns The debounced value.
*
* @example
* ```tsx
* function SearchInput() {
* const [searchTerm, setSearchTerm] = useState("");
* const debouncedSearchTerm = useDebounce(searchTerm, 500);
*
* useEffect(() => {
* // Expensive search operation
* performSearch(debouncedSearchTerm);
* }, [debouncedSearchTerm]);
*
* return setSearchTerm(e.target.value)} />;
* }
* ```
*/
export declare function useDebounce(value: T, delay: number): T;
//# sourceMappingURL=useDebounce.d.ts.map