type DebounceOptions = { leading?: boolean; trailing?: boolean; maxWait?: number; }; type ControlFunctions = { cancel: () => void; flush: () => void; isPending: () => boolean; }; export type DebouncedState ReturnType> = ((...args: Parameters) => ReturnType | undefined) & ControlFunctions; export declare function useDebounceCallback ReturnType>(func: T, delay?: number, options?: DebounceOptions): DebouncedState; export {};