/**
 * useDebounceFn Hook - 去抖函数 Hook
 *
 * 创建一个去抖的函数，连续触发期间仅在最后一次触发后等待 `wait` 毫秒才真正执行 fn。
 *
 * @description 去抖函数 hook，常用于搜索框输入、表单校验等高频输入场景
 * @template T - 被包装函数的参数类型元组
 * @template U - 被包装函数的返回值（resolved value）类型
 * @param fn - 需要去抖的异步或同步函数
 * @param wait - 去抖等待时间（ms）；为 0 或 undefined 时立即执行（仍会先 cancel 上次 pending）
 * @returns `{ run, cancel }`，`run` 返回 Promise，`cancel` 主动取消未触发的调用
 *
 * @remarks
 * - `cancel()` 会 resolve 上一次的 Promise 为 undefined，避免调用方 `await` 永久挂起
 * - 仅在 unmount 时自动 cancel；`cancel` 引用变化不会触发清理（避免误取消）
 */
export declare function useDebounceFn<T extends any[], U = any>(fn: (...args: T) => U | Promise<U>, wait?: number): {
    run: (...args: T) => Promise<U | undefined>;
    cancel: () => void;
};
