export interface UseDebouncedCallbackOptions { delay: number; flushOnUnmount?: boolean; leading?: boolean; maxWait?: number; } export type UseDebouncedCallbackReturnValue any> = ((...args: Parameters) => void) & { flush: () => void; cancel: () => void; isPending: () => boolean; }; export declare function useDebouncedCallback any>(callback: T, options: number | UseDebouncedCallbackOptions): ((...args: Parameters) => void) & { flush: () => void; cancel: () => void; isPending: () => boolean; _isFirstCall: boolean; _hasPendingCallback: boolean; }; export declare namespace useDebouncedCallback { type Options = UseDebouncedCallbackOptions; type ReturnValue any> = UseDebouncedCallbackReturnValue; }