/**
 * 函数防抖，即对函数进行特殊处理，使其在约定的时间段内只在触发第一次时立即执行(前置执行)或只在触发最后一次后执行(后置执行)，避免函数多次执行。
 * @param fn 待处理的函数
 * @param preExecute 是否前置执行，默认为false，即只在触发最后一次后执行(后置执行)
 * @param duration 函数防抖时长，单位为毫秒，默认为1000
 * @return 经过处理的fn
 * @category Debounce
 */
export default function debounce(fn: Function, preExecute?: boolean, duration?: number): Function;
