export type DebouncedCallback = ((...args: A) => void) & {
cancel: () => void;
flush: () => void;
};
/**
* Wrap a callback so successive calls within `delayMs` collapse into a
* single invocation on the trailing edge. Returns a stable function with
* `.cancel()` (drop pending) and `.flush()` (run pending immediately).
*
* The latest `callback` reference is always invoked — internal ref-sync
* means re-renders that pass a new closure don't reset the timer.
*
* @example
* const onChange = useDebouncedCallback((value: string) => {
* void search(value);
* }, 250);
*/
export declare function useDebouncedCallback(callback: (...args: A) => void, delayMs: number): DebouncedCallback;
//# sourceMappingURL=use-debounced-callback.d.ts.map