import * as _ls_stack_utils_debounce0 from "@ls-stack/utils/debounce"; import { DebounceOptions } from "@ls-stack/utils/debounce"; //#region src/useDebouncedCallback.d.ts /** * Hook that debounces a callback function with a stable reference. * * The returned debounced function reference stays stable across renders while * always calling the latest version of the callback. * * @example * ```tsx * function SearchInput({ onSearch }: { onSearch: (query: string) => void }) { * const debouncedSearch = useDebouncedCallback(onSearch, 300); * * return debouncedSearch(e.target.value)} />; * } * ```; * * @param callback - The function to debounce * @param debounceMs - The number of milliseconds to delay * @param options - Debounce options (leading, trailing, maxWait) * @returns Debounced function with cancel, flush, and pending methods */ declare function useDebouncedCallback void>(callback: T, debounceMs: number, options?: DebounceOptions): _ls_stack_utils_debounce0.DebouncedFunc; //#endregion export { useDebouncedCallback };