export interface DebounceOptions { /** The number of milliseconds to delay. Default: 1000 */ wait?: number; /** Specify invoking on the leading edge of the timeout. Default: false */ leading?: boolean; /** Specify invoking on the trailing edge of the timeout. Default: true */ trailing?: boolean; /** The maximum time func is allowed to be delayed before it's invoked. Default: undefined (no max) */ maxWait?: number; } export interface DebouncedFn unknown> { /** Invoke and pass parameters to fn */ run: (...args: Parameters) => void; /** Cancel the invocation of currently debounced function */ cancel: () => void; /** Immediately invoke currently debounced function */ flush: () => void; } /** * A hook that creates a debounced function with advanced options. * * @param fn - The function to debounce * @param options - Debounce options including wait, leading, trailing, maxWait * @returns Object with run, cancel, and flush methods */ export declare function useDebounceFn unknown>(fn: T, options?: DebounceOptions): DebouncedFn;