type DebounceOptions = {
    leading?: boolean;
    trailing?: boolean;
    maxWait?: number;
};
type DebouncedFunction<T extends (...args: any[]) => any> = ((...args: Parameters<T>) => ReturnType<T> | undefined) & {
    cancel: () => void;
    flush: () => ReturnType<T> | undefined;
};
/**
 * 创建一个防抖函数，该函数在最后一次调用后等待指定时间才执行。
 * @param func 需要防抖的函数
 * @param wait 等待时间（毫秒）
 * @param options 配置选项
 * @param options.leading 是否在开始时立即执行
 * @param options.trailing 是否在延迟结束后执行最后一次调用
 * @returns 防抖后的函数
 */
export declare function debounce<T extends (...args: any[]) => any>(func: T, wait: number, options?: DebounceOptions): DebouncedFunction<T>;
type ThrottleOptions = {
    leading?: boolean;
    trailing?: boolean;
};
/**
 * 创建一个节流函数，在指定时间间隔内只执行一次原函数
 * @param func 需要节流的函数
 * @param wait 等待时间（毫秒）
 * @param options 配置选项
 * @param options.leading 是否在开始时立即执行
 * @param options.trailing 是否在延迟结束后执行最后一次调用
 * @returns 节流后的函数
 */
export declare function throttle<T extends (...args: any[]) => any>(func: T, wait: number, options?: ThrottleOptions): (...args: Parameters<T>) => ReturnType<T> | undefined;
export {};
//# sourceMappingURL=utils.d.ts.map