/**
 * Hook para hacer debounce de un valor
 * Útil para búsquedas donde no queremos hacer una petición por cada tecla
 *
 * @param value - El valor a hacer debounce
 * @param delay - El tiempo de espera en milisegundos (default: 300ms)
 * @returns El valor con debounce aplicado
 *
 * @example
 * ```tsx
 * const [search, setSearch] = useState('')
 * const debouncedSearch = useDebouncedValue(search, 300)
 *
 * // Usar debouncedSearch para hacer la petición
 * useQuery({
 *   queryKey: ['search', debouncedSearch],
 *   queryFn: () => fetchData(debouncedSearch),
 * })
 * ```
 */
export declare function useDebouncedValue<T>(value: T, delay?: number): T;
/**
 * Hook para crear una función con debounce
 * Útil cuando necesitas el callback en lugar del valor
 *
 * @param callback - La función a ejecutar con debounce
 * @param delay - El tiempo de espera en milisegundos (default: 300ms)
 * @returns La función con debounce aplicado
 */
export declare function useDebouncedCallback<T extends (...args: unknown[]) => unknown>(callback: T, delay?: number): T;
//# sourceMappingURL=useDebounce.d.ts.map