/** * Custom hook that returns a debounced version of the provided callback function. * * This hook creates a debounced function that delays invoking the callback until after * a specified delay has elapsed since the last time it was invoked. It also supports * a maximum wait time option. * * @param callback - The function to debounce * @param delay - The number of milliseconds to delay * @param options - Additional configuration options * @param options.maxWait - Optional maximum time the callback can be delayed before it's invoked * @returns A debounced version of the callback function * * @example * // Basic usage with 300ms delay * const handleChange = useDebouncedCallback((value) => { * console.log(value); * }, 300); * * @example * // With maxWait of 1000ms * const handleInput = useDebouncedCallback((value) => { * saveData(value); * }, 500, { maxWait: 1000 }); */ export declare const useDebouncedCallback: (callback: (...args: T) => U, delay: number, { maxWait }?: { maxWait?: number; }) => { (...args: T): void; cancel(): void; };