import { ReactElement } from 'react'; export declare function noop(): void; /** * @description: 确保目标是一个数组 * @param target 目标对象 * @return 原数组或新的数组 */ export declare function toArray(target: any): any[]; /** * @description: 限定数值范围 * @param {number} n 被限定的值 * @param {number} min 最小值 * @param {number} max 最大值 * @return {number} 限定后的值 */ export declare function minmax(n: number, min: number, max: number): number; /** * @description: 获取小数位数 * @param {number | string} n 要操作的数值 * @return {number} */ export declare function getDecimalsLength(n: number | string): number; /** * @description: 把一个数四舍五入到指定位数小数 * @param {number} n 要操作的数值 * @param {number} precision 精准度,即小数个数 * @return {number} */ export declare function round(n: number, precision?: number): number; /** * @description: 把一个数舍入到指定数的倍数 * @param {number} n 要舍入的数值 * @param {number} m 结果值的因数 * @return {number} */ export declare function mround(n: number, m: number): number; /** * @description: 生成唯一ID,用于设置元素的ID,以便获取 * @param {string} prefix * @return {string} */ export declare function uniqid(prefix?: string): string; /** * @description: 回流 * @param {HTMLElement} el * @return {void} */ export declare function reflow(el: HTMLElement): void; /** * @description: 获取阻尼值 * @param {number} value * @param {number} min * @param {number} max * @param {number} damping * @return {number} */ export declare function getDampingValue(value: number, min: number, max: number, damping: number): number; /** * @description: 获取矩形阻尼值 * @param {number} offset 当前的偏移量 * @param {number} areaSize 范围值 * @param {number} viewSize 范围内某个视图尺寸值 * @param {number} damping 阻尼系数 * @return {number} */ export declare function getRectDampingValue(offset: number, areaSize: number, viewSize: number, damping: number): number; /** * @description: 获取范围值 * @param {number} offset 当前的偏移量 * @param {number} areaSize 范围值 * @param {number} viewSize 范围内某个视图尺寸值 * @return {number} */ export declare function getInBoundValue(offset: number, areaSize: number, viewSize: number): number; /** * @description: 获取溢出值范围 * @param {number} overflow 最大溢出值 * @param {number} areaSize 范围值 * @param {number} viewSize 范围内某个视图尺寸值 * @return {*} */ export declare function getOverflowRangeInArea(overflow: number, areaSize: number, viewSize: number): [number, number]; /** * @description: 扩散性遍历 * @param array 要遍历的数组 * @param callback 回调函数,接收当前元素、扩散性下标、迭代下标作为参数, * 如果返回true,则中止遍历 * @param currIndex 遍历开始的下标 * @param direction 开始遍历的方向 * @return 扩散性下标、或开始下标 */ export declare function spreadEach(array: any[], callback: (el: any, spreadIndex: number, index: number) => any, startIndex?: number, direction?: number): number; /** * @description: 克隆对象 * @param {any} target * @return {any} */ export declare function deepClone(target: any): any; /** * @description: 深度合并其他对象到第一个对象 * @param {any[]} args * @return {any} 第一个对象 */ export declare function deepMerge(...args: any[]): any; export interface DebounceOptions { leading?: boolean; trailing?: boolean; maxWait?: number; } export declare function debounce(func: (...args: any[]) => any, wait: number, options?: DebounceOptions): { (...args: any[]): any; cancel: () => void; flush: () => any; pending: () => boolean; }; export declare function throttle(func: (...args: any[]) => any, wait: number, options?: DebounceOptions): { (...args: any[]): any; cancel: () => void; flush: () => any; pending: () => boolean; }; /** * @description: 获取页面范围 * @param {number} current 当前页码 * @param {number} pageCount 总页数 * @param {number} pageItemCount 要展示的页数 * @return {[number, number]} */ export declare function getPageRange(current: number, pageCount: number, pageItemCount: number): number[]; export declare function treeToMap(tree: object[], keyName: string, childrenName: string, parentName: string): { [key: string]: object; [key: number]: object; [key: symbol]: object; }; /** * 如果 subProps 指定属性为 null 或 undefined, 则从 parentProps 中提取 */ export declare function pickNonNullish(parentProps: Record, subProps: Record): Record; export declare function pickContextNullish(props: Record, contextProps: Record): Record; /** * @description 打乱数组 * @param arr 要打乱的数组 * @param inPlace 是否改变原数组 */ export declare function shuffle(arr: any[], inPlace?: boolean): any[]; interface Rect { x: number; y: number; width: number; height: number; } /** * @description: 根据原始坐标尺寸和缩放后的坐标尺寸算出转换的原点 * @param {Rect} rect * @param {Rect} scaleRect * @return {[number, number]} */ export declare function getTransformOrigin(rect: Rect, scaleRect: Rect): number[]; /** * @description: 将一个可选单位的字符串或数值拆分为数值和单位组成的数组 * @param {number | string} target * @return {[number, string]} */ export declare function splitUnit(target: number | string): [number, string]; /** * @description: 确保接收 children 为 ReactElement 数组 * @param {number | string} target * @return {[number, string]} */ export declare function toElementArray(children: ReactElement | ReactElement[]): ReactElement>[]; /** * @description: 自定义 transitionEnd 事件 * @param {function} callback 结束后的回调 * @param {number} duration 结束的时间 * @return {{}} */ export declare function transitionEnd(callback: (...args: any[]) => any, duration?: number): { clear: () => void; finish: () => void; }; /** * @description: 合并多个 props,非指定(第一个数组参数)的函数属性会合并调用, * className 和 style 也会合并,其他则直接替换 * @param {array} args * @return {*} */ export declare function mergeProps(...args: any[]): any; export declare function chainSelect(object: any, chain?: string): any; export declare function getObjectValueInDepth(object: any, keys: (string | number)[]): any; export declare function arrayMove(array: any[], fromIndex: number, toIndex: number): any[]; export declare function arrayRemoveAtIndexes(arr: any[], indexes: number[]): any[]; export declare function arrayEqual(arr1: any[], arr2: any[]): boolean; export declare function nestedToMulti(nested: any[], values: (number | string)[], fieldKeys: { value: string; children: string; }): any[]; export declare function filterNullish(object: Record): {}; export declare function addPxInWeb(value?: number): string | number; export {};