export { isFunction } from '@vue/shared' /** * 创建一个去抖函数,延迟调用`func`直到`wait`之后 * * **Note:** 如果`leading`和`trailing`选项为`true`,则`func`为仅当去抖动函数在超时的后沿调用。 * 如果`wait`为 0 且`leading`为`false`,则推迟`func`调用直到下一个刻度,类似于超时为 0 的 setTimeout。 * 如果在有`requestAnimationFrame`的环境中省略`wait`,`func`调用将被推迟到绘制下一帧(通常约为 16 毫秒)。 * * @param fn - 执行的函数 * @param wait - 等待时间 * @param options - 配置 * * @returns 去抖函数 */ export declare function debounce unknown>( fn: Fn, wait?: number, options?: { /* 在超时前调用,默认 false */ leading?: boolean /* 在超时后调用,默认 true */ trailing?: boolean /* 最大等待时长 */ maxWait?: number }, ): Fn & { /* 取消执行 */ cancel: () => void /* 立即执行 */ flush: () => ReturnType /* 是否正等待执行 */ pending: () => boolean } /** * 创建一个节流函数,在每个`wait`时长内最多执行一次 * * **Note:** 如果`leading`和`trailing`选项为`true`,则`func`为仅当去抖动函数在超时的后沿调用。 * * 如果`wait`为 0 且`leading`为`false`,则推迟`func`调用直到下一个刻度,类似于超时为 0 的 setTimeout。 * * 如果在有`requestAnimationFrame`的环境中省略`wait`,`func`调用将被推迟到绘制下一帧(通常约为 16 毫秒)。 * * @param fn - 执行的函数 * @param wait - 等待时间 * @param options - 配置 * * @returns 节流函数 */ export declare function throttle unknown>( fn: Fn, wait?: number, options?: { /* 在超时前调用,默认 true */ leading?: boolean /* 在超时后调用,默认 true */ trailing?: boolean /* 最大等待时长 */ maxWait?: number }, ): Fn & { /* 取消执行 */ cancel: () => void /* 立即执行 */ flush: () => ReturnType /* 是否正等待执行 */ pending: boolean }