export interface UseDebouncedCallbackReturn any> { /** Call to schedule the wrapped function. Identity is stable across renders. */ (...args: Parameters): void; /** Cancel any pending invocation. */ cancel: () => void; /** Run the wrapped function immediately with the most recent args. */ flush: () => void; } /** * Returns a stable debounced wrapper around `callback`. * * Differs from `useDebouncedValue`: this debounces the *call*, useful for * imperative side-effects driven by event handlers (search inputs, autosave, * scroll handlers). Use `useDebouncedValue` for declarative React patterns. * * The returned function exposes `.cancel()` and `.flush()`. The wrapper * identity is stable so it's safe to put in dependency arrays. * * @example * const search = useDebouncedCallback((q: string) => fetchResults(q), 300); * ; */ export declare function useDebouncedCallback any>(callback: F, wait: number): UseDebouncedCallbackReturn;