import { ReactAsyncDebouncerOptions } from "./useAsyncDebouncer.js"; import { AnyAsyncFunction } from "@tanstack/pacer/types"; //#region src/async-debouncer/useAsyncDebouncedCallback.d.ts /** * A React hook that creates a debounced version of an async callback function. * This hook is a convenient wrapper around the `useAsyncDebouncer` hook, * providing a stable, debounced async function reference for use in React components. * * The debounced async function will only execute after the specified wait time has elapsed * since its last invocation. If called again before the wait time expires, the timer * resets and starts waiting again. The returned function always returns a promise * that resolves or rejects with the result of the original async function. * * This hook provides a simpler API compared to `useAsyncDebouncer`, making it ideal for basic * async debouncing needs. However, it does not expose the underlying AsyncDebouncer instance. * * For advanced usage requiring features like: * - Manual cancellation * - Access to execution/error state * - Custom useCallback dependencies * * Consider using the `useAsyncDebouncer` hook instead. * * * @example * ```tsx * // Debounce an async search handler * const handleSearch = useAsyncDebouncedCallback(async (query: string) => { * const results = await fetchSearchResults(query); * return results; * }, { * wait: 500 // Wait 500ms between executions * }); * * // Use in an input * handleSearch(e.target.value)} * /> * ``` */ declare function useAsyncDebouncedCallback(fn: TFn, options: ReactAsyncDebouncerOptions): (...args: Parameters) => Promise>; //#endregion export { useAsyncDebouncedCallback }; //# sourceMappingURL=useAsyncDebouncedCallback.d.ts.map