import { Colors, Types } from './types';
import isEqual from 'lodash/isEqual';
import isEqualWith from 'lodash/isEqualWith';
import merge from 'lodash/merge';
export { isEqual, isEqualWith, merge };
export declare const requestAnimationFrame: ((callback: FrameRequestCallback) => number) & typeof globalThis.requestAnimationFrame;
export declare const propertyMap: {
    axis: string[];
};
/**
 * 向目标对象拷贝指定的key的值
 *
 * @param {string[]} keys 判断的key
 * @param {Object} target 目标对象
 * @param {Object} source 源对象
 *
 * @return {Object} 目标对象
 * */
export declare function propertyAssign(keys: string[], target: Types.LooseObject, source: Types.LooseObject | false): Types.LooseObject;
/**
 * 找到对应元素的父元素的大小
 *
 * @param {element} element Html元素
 * @param {number | string} width props中传递的width属性
 * @param {number | string} height props中传递的height属性
 *
 * @return {number[]} 宽和高的数组
 * */
export declare function getParentSize(element: HTMLElement, width: number | string, height: number | string): number[];
/**
 * 将像素字符串转为数值
 *
 * @param {string} px 像素字符串
 *
 * @return {number} 数值
 * */
export declare function pxToNumber(px: string): number;
/**
 * 从Highcharts格式数据中找到对应index的颜色
 *
 * @param {array} colors 颜色数组
 * @param {array} rawData Highcharts 格式的数据
 * @param {number} dataIndex y轴对应的index
 * */
export declare function getDataIndexColor(colors: Colors, rawData: any[], dataIndex: number): string | void;
/** 主题关键字 */
/** 颜色映射, 主要针对状态色 */
export declare function mapColors(colors: Colors): string | string[] | Types.ColorAttrCallback;
/**
 * 根据状态获得颜色值
 *
 * @param {string} status 状态字符串
 *
 * @return {string} 颜色值
 * */
export declare function getStatusColor(status: string): any;
/**
 * 根据状态获得颜色名称
 *
 * @param {string} status 状态字符串
 *
 * @return {string} 颜色名称
 * */
export declare function getStatusColorName(status: string): string;
/**
 * 判断是否是有效数字
 *
 * @param v 输入值
 *
 * @return {boolean} 是否有效数字
 * */
export declare function isInvalidNumber(v: any): boolean;
/**
 * 数字格式化小数位
 *
 * @param {number} num 输入数字
 * @param {number} decimal 小数位数，默认两位
 *
 * @return {string|number} 如果不是数字，返回横杠字符串。如果是数字，返回设定小数位的字符串。
 * */
export declare function numberDecimal(num: any, decimal?: number): any;
/**
 * 数字格式化千分位
 *
 * @param {number} num 输入数字
 * @param {number} char 分隔符，默认为逗号
 *
 * @return {string|number} 如果不是数字，返回横杠字符串。如果是数字，返回千分位的字符串。
 * */
export declare function beautifyNumber(num: any, char?: string): any;
/**
 * 空函数
 * */
export declare function noop(): void;
/**
 * tooltip item 获取原始数据
 *
 * @param {object} config 图表配置项
 * @param {array} rawData 挂载于 this.rawData 上的原始数据
 * @param {number} item tooltip格式化函数的当前数据项
 *
 * @return {object} 寻找得到的原始数据，没有找到则返回空对象。
 * */
export declare function getRawData(config: {
    dataType?: string;
}, rawData: any[], item: any): any;
/**
 * 过滤对象中的key，常用于过滤传递给div的props，防止react invalid attribute warning
 *
 * @param {object} obj 过滤的对象
 * @param {array} keys 过滤的键列表
 *
 * @return {object} 过滤后的结果
 * */
export declare function filterKey(obj: Types.LooseObject, keys: string[]): Types.LooseObject;
/**
 * 处理图表库中的默认padding值的通用函数
 *
 * @param {padding} padding 用户配置的padding值
 * @param {object} config 合并了默认配置后的最终配置项
 * 以下参数非必选
 * @param {number} [defaultTop] 默认top padding
 * @param {number} [defaultRight] 默认right padding
 * @param {number} [defaultBottom] 默认bottom padding
 * @param {number} [defaultLeft] 默认left padding
 *
 * @return
 * */
export interface customFormatterConfig {
    unit?: string;
    decimal?: number;
    grouping?: boolean | string;
}
/**
 * 自定义格式化函数，支持 单位、小数位、千分位 处理
 * */
export declare function customFormatter(config: customFormatterConfig): (v: any) => string;
